|
| virtual int32 | CountConversions () const =0 |
| |
| virtual void | GetNthConversion (int32 i, VersionID *fromVersion, VersionID *toVersion) const =0 |
| |
| virtual int32 | CountRemovedPlugins (const VersionID &fromVersion, const VersionID &toVersion) const =0 |
| |
| virtual PluginID | GetNthRemovedPlugin (const VersionID &fromVersion, const VersionID &toVersion, int32 n) const =0 |
| |
| virtual int32 | CountIgnoredPlugins (const VersionID &fromVersion, const VersionID &toVersion) const =0 |
| |
| virtual PluginID | GetNthIgnoredPlugin (const VersionID &fromVersion, const VersionID &toVersion, int32 n) const =0 |
| |
| virtual int32 | CountClassAliases () const =0 |
| |
| virtual int32 | CountImplementationAliases () const =0 |
| |
| virtual void | GetNthClassAlias (int32 n, ClassID &fromID, VersionID &fromVersion, ClassID &toID, VersionID &toVersion) const =0 |
| |
| virtual void | GetNthImplementationAlias (int32 n, ImplementationID &fromID, VersionID &fromVersion, ImplementationID &toID, VersionID &toVersion) const =0 |
| |
| virtual int32 | CountPlugins () const =0 |
| |
| virtual PluginID | GetNthPlugin (int32 n) const =0 |
| |
| virtual bool16 | DoesConversionRenumberClass (int32 conversionIndex) const =0 |
| |
| virtual bool16 | DoesConversionRenumberImplementation (int32 conversionIndex) const =0 |
| |
| virtual ConversionStatus | ShouldConvertImplementation (ImplementationID tag, ClassID context, int32 conversionIndex) const =0 |
| |
| virtual ConversionStatus | ShouldConvertClass (ClassID clsID, ImplementationID context, int32 conversionIndex) const =0 |
| |
| virtual ImplementationID | ConvertTag (ImplementationID tag, ClassID forClass, int32 conversionIndex, int32 inLength, IPMStream *inStream, IPMStream *outStream, IterationStatus whichIteration)=0 |
| |
| virtual ClassID | ConvertClass (ClassID clsID, ImplementationID embeddedContext, int32 conversionIndex, int32 inLength, IPMStream *inStream, IPMStream *outStream, IterationStatus whichIteration)=0 |
| |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| |
| virtual void | AddRef () const =0 |
| |
| virtual void | Release () const =0 |
| |
IConversionProvider is a key interface in the binary database conversion process. Although it is public, you are unlikely to need to call it directly. If you are writing a "code converter", you must implement this interface. However, it recommended that you base your converter on the CConversionProvider base class instead.
- See Also
- CConversionProvider
Convert the contents of the class from the old format to the new. Returns the new ClassID, which will be the same as the clsID parameter, unless the class was renumbered.
If kInvalidClass is returned, the UID will be deleted from the database.
- Parameters
| clsID | IN The ID of the class to be converted |
| embeddedContext | IN The ID of the implementation that contains the class, or kInvalidImpl |
| conversionIndex | IN The index (in this conversion provider's list of possible conversions) to be performed |
| inLength | IN Byte length of the incoming data to be converted |
| inStream | IN Stream that contains the data to be converted |
| outStream | IN Stream that will contain the converted data |
| whichIteration | IN Which conversion is this in a series of conversion steps |
- Returns
- The post-conversion ID of the class, or kInvalidClass if the class was removed
Implemented in CConversionProvider.
Convert the contents of the implementation from the old format to the new . The incoming contents from inStream will be whatever was written by the ReadWrite function in version inVersion. The outgoing contents into outStream should be whatever will be expected by ReadWrite for the output version. Returns the new ImplementationID, which will be the same as the tag parameter, unless the implementation was renumbered.
If ConvertTag doesn't write any data to the output stream, the ImplementationID and associated data are removed from the UID.
- Parameters
| tag | IN The ID of the implementation to be converted |
| forClass | IN The ID of the class that contains the implementation |
| conversionIndex | IN The index (in this conversion provider's list of possible conversions) to be performed |
| inLength | IN Byte length of the incoming data to be converted |
| inStream | IN Stream that contains the data to be converted |
| outStream | IN Stream that will contain the converted data |
| whichIteration | IN Which conversion is this in a series of conversion steps |
- Returns
- The post-conversion ID of the implementation, or kInvalidImpl if the implementation was removed
Implemented in CConversionProvider.