InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IConversionProvider.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Robin Briggs
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //
23 // Purpose of Interface:
24 // Manages file format conversions between different versions of plug-ins.
25 //
26 //========================================================================================
27 
28 #ifndef __IConversionProvider__
29 #define __IConversionProvider__
30 
31 // ----- Interfaces -----
32 
33 #include "IPMUnknown.h"
34 
35 // ----- ID.h files -----
36 
37 #include "ShuksanID.h"
38 
39 
40 class FormatID;
41 class VersionID;
42 
43 
52 {
53 public:
57  virtual int32 CountConversions() const = 0;
58 
66  virtual void GetNthConversion(int32 i, VersionID *fromVersion, VersionID *toVersion) const = 0;
67 
73  virtual int32 CountRemovedPlugins(const VersionID &fromVersion, const VersionID &toVersion) const = 0;
74 
81  virtual PluginID GetNthRemovedPlugin(const VersionID &fromVersion, const VersionID &toVersion, int32 n) const = 0;
82 
88  virtual int32 CountIgnoredPlugins(const VersionID &fromVersion, const VersionID &toVersion) const = 0;
89 
96  virtual PluginID GetNthIgnoredPlugin(const VersionID &fromVersion, const VersionID &toVersion, int32 n) const = 0;
97 
101  virtual int32 CountClassAliases() const = 0;
102 
106  virtual int32 CountImplementationAliases() const = 0;
107 
115  virtual void GetNthClassAlias(int32 n, ClassID &fromID, VersionID &fromVersion, ClassID &toID, VersionID &toVersion) const = 0;
116 
124  virtual void GetNthImplementationAlias(int32 n, ImplementationID &fromID, VersionID &fromVersion, ImplementationID &toID, VersionID &toVersion) const = 0;
125 
129  virtual int32 CountPlugins() const = 0;
130 
135  virtual PluginID GetNthPlugin(int32 n) const = 0;
136 
141  virtual bool16 DoesConversionRenumberClass(int32 conversionIndex) const = 0;
142 
147  virtual bool16 DoesConversionRenumberImplementation(int32 conversionIndex) const = 0;
148 
153  {
162  };
163 
170  virtual ConversionStatus ShouldConvertImplementation(ImplementationID tag, ClassID context, int32 conversionIndex) const = 0;
171 
178  virtual ConversionStatus ShouldConvertClass(ClassID clsID, ImplementationID context, int32 conversionIndex) const = 0;
179 
187  {
194  };
195 
216  virtual ImplementationID ConvertTag(ImplementationID tag, ClassID forClass, int32 conversionIndex,
217  int32 inLength, IPMStream *inStream, IPMStream *outStream, IterationStatus whichIteration) = 0;
218 
233  virtual ClassID ConvertClass(ClassID clsID, ImplementationID embeddedContext, int32 conversionIndex,
234  int32 inLength, IPMStream *inStream, IPMStream *outStream, IterationStatus whichIteration) = 0;
235 };
236 
237 
238 #endif // __IConversionProvider__