![]() |
PATH![]() |
![]() ![]() |
A CMM is stored as a component resource. It contains a number of resources, including the standard component resource (a resource of type 'thng' ) required of any Component Manager component. In addition, a CMM must contain code to handle required request codes passed to it by the Component Manager. This includes support for Component Manager required request codes as well as ColorSync Manager required request codes. For an example of the resources your CMM should include, refer to the DemoCMM project available with the ColorSync SDK.
To allow the ColorSync Manager to use your CMM when a profile specifies it as its preferred CMM, your CMM should be located in the Extensions folder, where it will automatically be registered at startup. The file type for component files must be set to 'thng' .
The component resource contains all the information needed to register a code resource as a component. Information in the component resource tells the Component Manager where to find the code for the component. As part of the component resource, you must provide a component description record that specifies the component type, subtype, manufacturer, and flags. Here is the data structure for the component description:
struct ComponentDescription {
OSType componentType;
OSType componentSubType;
OSType componentManufacturer;
unsigned long componentFlags;
unsigned long componentFlagsMask;
};
The following are the key fields of the component description data structure for creating a CMM component:
Note
Values you specify for all fields except the componentType field must include at least one uppercase character. Apple Computer reserves values containing all lowercase characters for its own use.
Since it was first defined, the component resource has been extended to include additional information. That additional information includes the following field for specifying the version of your component:
long componentVersion; /* version of Component */
For more information on component data types, see the following files from the Universal Interfaces distributed with development systems for the Mac OS: