![]() |
Oyranos Color Management System API |
Context creator. More...
#include <oyCMMapi4_s.h>
Public Types | |
typedef oyPointer(* | oyCMMFilterNode_ContextToMem_f) (oyFilterNode_s *node, size_t *size, oyAlloc_f allocateFunc) |
store a CMM filter context into a memory blob More... | |
typedef char *(* | oyCMMFilterNode_GetText_f) (oyFilterNode_s *node, oyNAME_e type, oyAlloc_f allocateFunc) |
describe a CMM filter context More... | |
![]() | |
typedef int(* | oyCMMInit_f) (oyStruct_s *filter) |
optional CMM init function More... | |
typedef int(* | oyCMMMessageFuncSet_f) (oyMessage_f message_func) |
optionaly sets a CMM message function More... | |
typedef int(* | oyCMMCanHandle_f) (oyCMMQUERY_e type, uint32_t value) |
CMM feature declaration function. More... | |
typedef const char *(* | oyCMMGetText_f) (const char *select, oyNAME_e type, oyStruct_s *context) |
get strings from a CMM More... | |
Public Member Functions | |
OYAPI oyCMMapi4_s *OYEXPORT | oyCMMapi4_New (oyObject_s object) |
allocate a new CMMapi4 object More... | |
OYAPI oyCMMapi4_s *OYEXPORT | oyCMMapi4_Copy (oyCMMapi4_s *cmmapi4, oyObject_s object) |
copy or reference a CMMapi4 object More... | |
OYAPI int OYEXPORT | oyCMMapi4_Release (oyCMMapi4_s **cmmapi4) |
release and possibly deallocate a oyCMMapi4_s object More... | |
OYAPI int OYEXPORT | oyCMMapi4_SetBackendContext (oyCMMapi4_s *api, oyPointer_s *ptr) |
set filter type specific runtime data More... | |
OYAPI oyPointer_s *OYEXPORT | oyCMMapi4_GetBackendContext (oyCMMapi4_s *api) |
get filter type specific runtime data More... | |
OYAPI oyCMMapi4_s *OYEXPORT | oyCMMapi4_Create (oyCMMInit_f init, oyCMMMessageFuncSet_f msg_set, const char *registration, int32_t version[3], int32_t module_api[3], const char *context_type, oyCMMFilterNode_ContextToMem_f contextToMem, oyCMMFilterNode_GetText_f getText, oyCMMui_s *ui, oyObject_s object) |
Custom CMMapi4 constructor. More... | |
![]() | |
OYAPI oyCMMapiFilter_s *OYEXPORT | oyCMMapiFilter_New (oyObject_s object) |
allocate a new CMMapiFilter object More... | |
OYAPI oyCMMapiFilter_s *OYEXPORT | oyCMMapiFilter_Copy (oyCMMapiFilter_s *cmmapifilter, oyObject_s object) |
copy or reference a CMMapiFilter object More... | |
OYAPI int OYEXPORT | oyCMMapiFilter_Release (oyCMMapiFilter_s **cmmapifilter) |
release and possibly deallocate a oyCMMapiFilter_s object More... | |
OYAPI int OYEXPORT | oyCMMapiFilter_SetBackendContext (oyCMMapiFilter_s *api, oyPointer_s *ptr) |
set filter type specific runtime data More... | |
OYAPI oyPointer_s *OYEXPORT | oyCMMapiFilter_GetBackendContext (oyCMMapiFilter_s *api) |
get filter type specific runtime data More... | |
![]() | |
OYAPI oyCMMapi_s *OYEXPORT | oyCMMapi_New (oyObject_s object) |
allocate a new CMMapi object More... | |
OYAPI oyCMMapi_s *OYEXPORT | oyCMMapi_Copy (oyCMMapi_s *cmmapi, oyObject_s object) |
copy or reference a CMMapi object More... | |
OYAPI int OYEXPORT | oyCMMapi_Release (oyCMMapi_s **cmmapi) |
release and possibly deallocate a oyCMMapi_s object More... | |
void | oyCMMapi_Set (oyCMMapi_s *api, oyCMMInit_f init, oyCMMMessageFuncSet_f msg_set, const char *registration, int32_t version[3], int32_t module_api[3]) |
CMMapi member setter. More... | |
void | oyCMMapi_SetNext (oyCMMapi_s *api, oyCMMapi_s *next) |
chain CMMapi's More... | |
oyCMMapi_s * | oyCMMapi_GetNext (oyCMMapi_s *api) |
get next CMMapi More... | |
![]() | |
const char * | oyStruct_GetTextFromModule (oyStruct_s *obj, oyNAME_e name_type, uint32_t flags) |
get object infos from a module More... | |
const char * | oyStruct_GetText (oyStruct_s *obj, oyNAME_e name_type, uint32_t flags) |
get a text dump More... | |
Data Fields | |
const oyOBJECT_e | type_ |
Type of object. More... | |
oyStruct_Copy_f | copy |
Copy function. More... | |
oyStruct_Release_f | release |
Release function. More... | |
oyObject_s | oy_ |
Oyranos internal object. More... | |
![]() | |
const oyOBJECT_e | type_ |
Type of object. More... | |
oyStruct_Copy_f | copy |
Copy function. More... | |
oyStruct_Release_f | release |
Release function. More... | |
oyObject_s | oy_ |
Oyranos internal object. More... | |
![]() | |
const oyOBJECT_e | type_ |
Type of object. More... | |
oyStruct_Copy_f | copy |
Copy function. More... | |
oyStruct_Release_f | release |
Release function. More... | |
oyObject_s | oy_ |
Oyranos internal object. More... | |
![]() | |
const oyOBJECT_e | type_ |
Type of object. More... | |
oyStruct_Copy_f | copy |
Copy function. More... | |
oyStruct_Release_f | release |
Release function. More... | |
oyObject_s | oy_ |
Oyranos internal object. More... | |
Context creator.
The structure contains functions to specify and prepare parameters or a context dedicated for a filter node class. UI elements can be included for manual settings. As per definition the result of this filter is serialised, and can therefore be cached by Oyranos' core.
Different filters have to provide this struct each one per filter.
The ::oyCMMFilterNode_ContextToMem
typedef oyPointer(* oyCMMFilterNode_ContextToMem_f) (oyFilterNode_s *node, size_t *size, oyAlloc_f allocateFunc) |
store a CMM filter context into a memory blob
typedef oyCMMFilterNode_ContextToMem_f
The goal is to have a data blob for later reusing. It is as well used for exchange and analysis. A oyCMMapi4_s filter with context_type member set to something should implement this function and fill the data blob with the according context data for easy forwarding and on disk caching.
[in,out] | node | access to the complete filter struct, most important to handle is the options and image members |
[out] | size | size in return |
allocateFunc | memory allocator for the returned data |
typedef char*(* oyCMMFilterNode_GetText_f) (oyFilterNode_s *node, oyNAME_e type, oyAlloc_f allocateFunc) |
describe a CMM filter context
typedef oyCMMFilterNode_GetText_f
For a oyNAME_NICK and oyNAME_NAME type argument, the function shall describe only those elements, which are relevant to the result of the context creation. The resulting string is CMM specific by intention.
Serialise into:
OYAPI oyCMMapi4_s *OYEXPORT oyCMMapi4_Copy | ( | oyCMMapi4_s * | cmmapi4, |
oyObject_s | object | ||
) |
copy or reference a CMMapi4 object
Function oyCMMapi4_Copy
The function is for copying and for referencing. The reference is the most often used way, which saves resourcs and time.
[in] | cmmapi4 | CMMapi4 struct object |
object | NULL - means reference, the optional object triggers a real copy |
References oyOBJECT_CMM_API4_S.
Referenced by oyCMMapi4_Create().
OYAPI oyCMMapi4_s *OYEXPORT oyCMMapi4_Create | ( | oyCMMInit_f | init, |
oyCMMMessageFuncSet_f | msg_set, | ||
const char * | registration, | ||
int32_t | version[3], | ||
int32_t | module_api[3], | ||
const char * | context_type, | ||
oyCMMFilterNode_ContextToMem_f | contextToMem, | ||
oyCMMFilterNode_GetText_f | getText, | ||
oyCMMui_s * | ui, | ||
oyObject_s | object | ||
) |
Custom CMMapi4 constructor.
Function oyCMMapi4_Create
init | custom initialisation |
msg_set | message function setter |
registration | the modules registration string, |
version | module version
|
module_api | tell compatibility with Oyranos API
|
context_type | tell the context type, if any the data type of the context returned by oyCMMapi4_s::oyCMMFilterNode_ContextToMem_f, mandatory in case of a set oyCMMapi4_s::oyCMMFilterNode_ContextToMem e.g. oyCOLOR_ICC_DEVICE_LINK / "oyDL" |
contextToMem | only mandatory for context producing filters, e.g. "//color/icc" |
getText | optionally set a oyCMMFilterNode_ContextToMem, used to override a Oyranos side hash creation |
ui | a UI description provide a oyCMMapi4_s::ui->getText( select, type ) call. The "select" argument shall cover at least "name" and "help" |
object | a optional object |
References oyCMMapi4_Copy(), oyCMMapi4_New(), oyCMMapi_s::oyCMMapi_Set(), and oyCMMui_s::oyCMMui_Copy().
OYAPI oyPointer_s *OYEXPORT oyCMMapi4_GetBackendContext | ( | oyCMMapi4_s * | api | ) |
get filter type specific runtime data
Runtime data can be used as context by a backend during execution.
That data is apart from a filter object, which can have lifetime data associated through a oyFilterNode_GetContext(). A filter connector can have its processing data associated through oyFilterNode_SetData().
[in] | api | api object |
References oyOBJECT_CMM_API4_S, oyOBJECT_CMM_API_MAX, and oyPointer_s::oyPointer_Copy().
Referenced by oyFilterCore_s::oyFilterCore_GetBackendContext().
OYAPI oyCMMapi4_s *OYEXPORT oyCMMapi4_New | ( | oyObject_s | object | ) |
allocate a new CMMapi4 object
Function oyCMMapi4_New
References oyOBJECT_OBJECT_S.
Referenced by oyCMMapi4_Create().
OYAPI int OYEXPORT oyCMMapi4_Release | ( | oyCMMapi4_s ** | cmmapi4 | ) |
release and possibly deallocate a oyCMMapi4_s object
Function oyCMMapi4_Release
[in,out] | cmmapi4 | CMMapi4 struct object |
References oyOBJECT_CMM_API4_S.
OYAPI int OYEXPORT oyCMMapi4_SetBackendContext | ( | oyCMMapi4_s * | api, |
oyPointer_s * | ptr | ||
) |
set filter type specific runtime data
Runtime data can be used as context by a backend during execution. The data is typical set during backend load.
That data is apart from a filter object, which can have lifetime data associated through a oyFilterNode_GetContext(). A filter connector can have its processing data associated through oyFilterNode_SetData().
[in,out] | api | api object |
[in] | ptr | the data needed to run the filter type |
References oyOBJECT_CMM_API4_S, oyOBJECT_CMM_API_MAX, oyPointer_s::oyPointer_Copy(), and oyPointer_s::oyPointer_Release().
Referenced by oyFilterCore_s::oyFilterCore_SetBackendContext().
oyStruct_Copy_f oyCMMapi4_s::copy |
Copy function.
oyObject_s oyCMMapi4_s::oy_ |
Oyranos internal object.
Features name and hash. Do not change during object life time.
oyStruct_Release_f oyCMMapi4_s::release |
Release function.
const oyOBJECT_e oyCMMapi4_s::type_ |
Type of object.
The struct type tells Oyranos how to interprete hidden fields.