the CMM API resources struct to implement and set by a CMMGiven an example CMM with name "little cms", which wants to use the four-char ID 'lcms', the CMM can register itself to Oyranos as follows: The CMM module file must be named something_lcms_cmm_module_something.something . On Linux this could be "liboyranos_lcms_cmm_module.so.0.1.8". The four-chars 'lcms' must be prepended with OY_MODULE_NAME alias "_cmm_module". More...
#include <oyranos_alpha.h>
Data Fields | |
oyOBJECT_e | type |
oyStruct_Copy_f | copy |
oyStruct_Release_f | release |
oyPointer | dummy |
char | cmm [8] |
char * | backend_version |
oyName_s | name |
oyName_s | manufacturer |
oyName_s | copyright |
int | oy_compatibility |
oyCMMapi_s * | api |
int | apis_n |
oyIcon_s | icon |
the CMM API resources struct to implement and set by a CMM
Given an example CMM with name "little cms", which wants to use the four-char ID 'lcms', the CMM can register itself to Oyranos as follows: The CMM module file must be named something_lcms_cmm_module_something.something . On Linux this could be "liboyranos_lcms_cmm_module.so.0.1.8". The four-chars 'lcms' must be prepended with OY_MODULE_NAME alias "_cmm_module".
Oyranos will scan the /color/cmms/ path, opens the available CMM's from this directory and extracts the four-chars before OY_MODULE_NAME from the library file names. Module paths can be added through the OY_MODULE_PATHS environment variable. Oyranos looks for a symbol to a oyCMMInfo_s struct of the four-byte ID plus OY_MODULE_NAME which results in our example in the name "lcms_cmm_module". On Posix system this should be loadable by dlsym. The lcms_cmm_module should be of type oyCMMInfo_s with the type field and all other fields set appropriately.
The api field is a placeholder to get a real api struct assigned. If the CMM wants to provide more than one API, they can be chained. The apis_n member is to be set to the number of APIs.
oyCMMapi_s* oyCMMInfo_s::api |
must be casted to a according API
count of implemented apis
non translatable, eg "v1.17"
char oyCMMInfo_s::cmm[8] |
ICC signature, eg 'lcms'
oyStruct_Copy_f oyCMMInfo_s::copy |
copy function
translatable, eg "MIT","MIT License"..
oyPointer oyCMMInfo_s::dummy |
keep to zero
zero terminated list of a icon pyramid
translatable, eg "Marti" "Marti Maria" "support email: @; internet: www.littlecms.com; sources: ..."
translatable, eg "lcms" "little cms" "..."
last supported Oyranos CMM API : OYRANOS_VERSION
oyStruct_Release_f oyCMMInfo_s::release |
release function
struct type oyOBJECT_CMM_INFO_S