Oyranos Color Management System API
Public Types | Public Member Functions | Data Fields
oyCMMapi10_s Struct Reference

Generic data exchange. More...

#include <oyCMMapi10_s.h>

Inheritance diagram for oyCMMapi10_s:
Inheritance graph
Collaboration diagram for oyCMMapi10_s:
Collaboration graph

Public Types

typedef int(* oyMOptions_Handle_f) (oyOptions_s *options, const char *command, oyOptions_s **result)
 generic data exchange More...
 
- Public Types inherited from oyCMMapi_s
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 int(* oyCMMOptions_Check_f) (oyOptions_s *validate)
 a function to check options 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 oyCMMapi10_s *OYEXPORT oyCMMapi10_New (oyObject_s object)
 allocate a new CMMapi10 object More...
 
OYAPI oyCMMapi10_s *OYEXPORT oyCMMapi10_Copy (oyCMMapi10_s *cmmapi10, oyObject_s object)
 copy or reference a CMMapi10 object More...
 
OYAPI int OYEXPORT oyCMMapi10_Release (oyCMMapi10_s **cmmapi10)
 release and possibly deallocate a oyCMMapi10_s object More...
 
OYAPI int OYEXPORT oyCMMapi10_SetBackendContext (oyCMMapi10_s *api, oyPointer_s *ptr)
 set filter type specific runtime data More...
 
OYAPI oyPointer_s *OYEXPORT oyCMMapi10_GetBackendContext (oyCMMapi10_s *api)
 get filter type specific runtime data More...
 
void oyCMMapi10_Release__Members (oyCMMapi10_s_ *cmmapi10)
 Custom CMMapi10 destructor. More...
 
int oyCMMapi10_Init__Members (oyCMMapi10_s_ *cmmapi10)
 Custom CMMapi10 constructor. More...
 
int oyCMMapi10_Copy__Members (oyCMMapi10_s_ *dst, oyCMMapi10_s_ *src)
 Custom CMMapi10 copy constructor. More...
 
- Public Member Functions inherited from oyCMMapiFilter_s
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...
 
void oyCMMapiFilter_Release__Members (oyCMMapiFilter_s_ *cmmapifilter)
 Custom CMMapiFilter destructor. More...
 
int oyCMMapiFilter_Init__Members (oyCMMapiFilter_s_ *cmmapifilter)
 Custom CMMapiFilter constructor. More...
 
int oyCMMapiFilter_Copy__Members (oyCMMapiFilter_s_ *dst, oyCMMapiFilter_s_ *src)
 Custom CMMapiFilter copy constructor. More...
 
- Public Member Functions inherited from oyCMMapi_s
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_soyCMMapi_GetNext (oyCMMapi_s *api)
 get next CMMapi More...
 
void oyCMMapi_Release__Members (oyCMMapi_s_ *cmmapi)
 Custom CMMapi destructor. More...
 
int oyCMMapi_Init__Members (oyCMMapi_s_ *cmmapi)
 Custom CMMapi constructor. More...
 
int oyCMMapi_Copy__Members (oyCMMapi_s_ *dst, oyCMMapi_s_ *src)
 Custom CMMapi copy constructor. More...
 
- Public Member Functions inherited from oyStruct_s
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...
 
oyMOptions_Handle_f oyMOptions_Handle
 
- Data Fields inherited from oyCMMapiFilter_s
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...
 
- Data Fields inherited from oyCMMapi_s
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...
 
- Data Fields inherited from oyStruct_s
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...
 

Detailed Description

Generic data exchange.

Member Typedef Documentation

typedef int(* oyMOptions_Handle_f) (oyOptions_s *options, const char *command, oyOptions_s **result)

generic data exchange

typedef oyMOptions_Handle_f

The provided data passed with oyOptions_s shall be processed according to the rules of a given command. The result is again a generic oyOptions_s object.

This module type works similiar to the device modules, which are defined in oyCMMapi8_s. While the module interface is simple it has minimal meaning to the intented work or data exchange. The rules are to be defined by the communicating parties, the host and the module. They use the plug-in mechanism only for their convinience.

For speed up the "can_handle.xxx" command must be implemented. "xxx" means in the previous command string the intented command to be performed. The "can_handle" command shall not produce any output in result, but shall indicate with zero that it could handle the request. This command is intented to lightwight select a capable module.

Parameters
[in]optionsthe input data; It is typical not changed.
[in]commanda string describing the intention of the caller; Allowed are alphanumerical signs. lower bar '_', minus '-', plus '+' and point '.' . other signs including white space must not occure. Strings are separated by point '.' . The first string is the actual command. The following strings are merely modifiers.
[out]resultthe created data
Returns
0 - indifferent, >= 1 - error, <= -1 - issue,
  • a message should be sent
Version
Oyranos: 0.1.10
Since
2009/12/11 (Oyranos: 0.1.10)
Date
2009/12/11

Member Function Documentation

OYAPI oyCMMapi10_s *OYEXPORT oyCMMapi10_Copy ( oyCMMapi10_s cmmapi10,
oyObject_s  object 
)

copy or reference a CMMapi10 object

Function oyCMMapi10_Copy

The function is for copying and for referencing. The reference is the most often used way, which saves resourcs and time.

Parameters
[in]cmmapi10CMMapi10 struct object
objectNULL - means reference, the optional object triggers a real copy

References oyOBJECT_CMM_API10_S.

Referenced by oyCMMapi10_Copy__Members().

int oyCMMapi10_Copy__Members ( oyCMMapi10_s_ *  dst,
oyCMMapi10_s_ *  src 
)
OYAPI oyPointer_s *OYEXPORT oyCMMapi10_GetBackendContext ( oyCMMapi10_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().

Parameters
[in]apiapi object
Returns
the context needed to run the filter type
Version
Oyranos: 0.9.5
Date
2013/12/19
Since
2013/12/19 (Oyranos: 0.9.5)

References oyOBJECT_CMM_API10_S, oyOBJECT_CMM_API_MAX, and oyPointer_s::oyPointer_Copy().

int oyCMMapi10_Init__Members ( oyCMMapi10_s_ *  cmmapi10)

Custom CMMapi10 constructor.

Function oyCMMapi10_Init__Members

Referenced by oyCMMapi10_Copy__Members().

OYAPI oyCMMapi10_s *OYEXPORT oyCMMapi10_New ( oyObject_s  object)

allocate a new CMMapi10 object

Function oyCMMapi10_New

References oyOBJECT_OBJECT_S.

Referenced by oyCMMapi10_Copy__Members().

OYAPI int OYEXPORT oyCMMapi10_Release ( oyCMMapi10_s **  cmmapi10)

release and possibly deallocate a oyCMMapi10_s object

Function oyCMMapi10_Release

Parameters
[in,out]cmmapi10CMMapi10 struct object

References oyOBJECT_CMM_API10_S.

Referenced by oyCMMapi10_Copy__Members().

void oyCMMapi10_Release__Members ( oyCMMapi10_s_ *  cmmapi10)

Custom CMMapi10 destructor.

Function oyCMMapi10_Release__Members

Referenced by oyCMMapi10_Copy__Members().

OYAPI int OYEXPORT oyCMMapi10_SetBackendContext ( oyCMMapi10_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().

Parameters
[in,out]apiapi object
[in]ptrthe data needed to run the filter type
Returns
error
Version
Oyranos: 0.9.5
Date
2013/12/19
Since
2013/12/19 (Oyranos: 0.9.5)

References oyOBJECT_CMM_API10_S, oyOBJECT_CMM_API_MAX, oyPointer_s::oyPointer_Copy(), and oyPointer_s::oyPointer_Release().

Field Documentation

oyStruct_Copy_f oyCMMapi10_s::copy

Copy function.

oyObject_s oyCMMapi10_s::oy_

Oyranos internal object.

Features name and hash. Do not change during object life time.

oyMOptions_Handle_f oyMOptions_Handle
oyStruct_Release_f oyCMMapi10_s::release

Release function.

Referenced by oyCMMapi10_Copy__Members().

const oyOBJECT_e oyCMMapi10_s::type_

Type of object.

The struct type tells Oyranos how to interprete hidden fields.