
C
HAPTER
4: Plug–in Property Lists
For more information
37
The property data that describes the suites that are to be exported is represented in the form of C structs,
below. This representation must be transcribed into a resource source code form (Windows resources
(
.rc
) under Visual Studio or Rez resources (
.r
) on Mac OS):
/** List of suites exported by the plug-in. */
typedef struct MyExportsDesc
{
/** The number of suites exported by the plug-in. */
long fCount;
/** A variable-length list describing each suite exported by the plug-in. */
MyExportDesc fExports[1];
} MyExportsDesc;
/** Description of a suite exported by the plug-in. */
typedef struct MyExportDesc
{
/** The total length in bytes of this MyExportDesc record.*/
long fLength;
/** A C-style string with the name of the suite to be exported.
* Padded to 4 bytes. */
char fName[1];
/** The version of the suite to be exported. */
long fVersion;
} MyExportDesc;
For more information
Adobe Illustrator API Reference
describes the property names and associated data structures, such as
PIPropertyList
. The sample plug-ins on the SDK show how to define a PiPL using native platform
resources.
Property key
Notes
PIExportsProperty
expt
Plug-ins can export one or mores suites containing functions for use
by other plug-ins. This export information is declared in PiPL export
properties,
expt
, which contain the names and API version numbers
of the suites a plug-in provides. The plug-in manager uses this
information to load and execute plug-ins, ensuring that suites and
other resources are available when needed. When a suite is
requested (acquired), the export properties of all plug-ins are
searched for the suite, and the providing plug-in is loaded into
memory. The plug-in is started if necessary. Once the plug-in
providing the suite is loaded and the requested suite is available,
control is returned to the requesting plug-in. One suite request
could trigger a series of plug-ins to be loaded into memory in a
cascading fashion.