![]() | InDesign SDK 20.5 |
#include <InterfaceFactory.h>
Public Member Functions | |
| param faceID The ID of the implementation param faceFact The factory function for constructing the implementation param faceDestroy The function for destructing the implementation param faceSizeOf The function for getting the sizeof the implementation param faceReadWrite The ReadWrite function for the | implementation (optional)@param faceSnapshotReadWrite The Snapshot function for the implementation(optional)@param faceRestVIewFun The ResetView function for the implementation(optional)*/InterfaceFactory(ImplementationID faceID |
For Internal Use Only | |
| const ImplementationID | GetID () |
| const InterfaceConstructor | GetFactory () |
| const InterfaceDestructor | GetDestructor () |
| const InterfaceSizeOf | GetSizeOf () |
| const InterfaceReadWrite | GetReadWrite () |
| const InterfaceReadWrite | GetSnapshotReadWrite () |
| const InterfaceResetViewFun | GetInterfaceResetViewFun () |
| static void | InstallInterfaces (PluginID ownerComponent) |
This class handles the virtual construction of interface implementations. Every implementation has a factory function for construction, a deletion function for destruction, and a sizeof function to return the allocation size of the implementation (for new). In addition, persistent implementations have a ReadWrite function. A few implementations require a snapshot function for handling automatic state restoration after Undo or Redo (most implementation handle this with ReadWrite). These functions associates an ImplementationID with set of functions for that implementation.
At plug-in load time, a set of static InterfaceFactory objects are generated, which contain the implementations that are linked into the plug-in. This is used by the Object Model to construct implementations, etc.
You should not ever need to handle an InterfaceFactory directly in your plug-in; this is something the object model manages for you.