oyCMMapi_s Struct Reference
Description: C source code API documentation for the Oyranos project.
Keywords: Oyranos,Color Management,Color Management,ICC,CMS,C,doxygen,API,documentation

| Oyranos Color Management System API - Version 0.9.6

Public Types | Public Member Functions | Data Fields
oyCMMapi_s Struct Reference
Backend Modules

the basic API interface More...

`#include <oyCMMapi_s.h>`

Inheritance diagram for oyCMMapi_s:
Collaboration diagram for oyCMMapi_s:

## Public Types
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 oyCMMapi_s *OYEXPORT | oyCMMapi_New (oyObject_s object)
| allocate a new CMMapi object More...
| oyCMMapi_Copy
| 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...
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...
| oyStruct_RegisterStaticMessageFunc
| register a function for verbosity More...
| oyStruct_GetInfo
| get a additional string from a object More...
const char * | oyStructTypeToText (oyOBJECT_e type)
| Objects type to small string. 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...
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

the basic API interface

The registration should provide keywords for selection. The api5_ member is missed for oyCMMapi5_s.

Version
  Oyranos: 0.1.10

Since
  2009/01/16 (Oyranos: 0.1.10)

Date
  2009/01/16

Examples:
  oyranos_cmm_oJPG.c.

## Member Function Documentation

## ◆ oyCMMapi_Copy()

oyCMMapi_Copy

Copy or Reference a CMMapi object.

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

Parameters

  [in] | cmmapi | CMMapi struct object
  | object | NULL - means reference, the optional object triggers a real copy

## ◆ oyCMMapi_GetNext()

oyCMMapi_s * oyCMMapi_GetNext | ( | oyCMMapi_s * | api | ) |

get next CMMapi

Function oyCMMapi_GetNext

oyCMMapi_s forms a single linked list. The start must be set in oyCMMinfo_s to be parsed by the module loader.

See also
  oyCMMapi_SetNext oyCMMinfo_SetApi

Parameters

  api | the struct

Returns
  the next struct

Version
  Oyranos: 0.9.5

Since
  2013/06/10 (Oyranos: 0.9.5)

Date
  2013/06/10

Examples:
  oyranos_cmm_oJPG.c.

## ◆ oyCMMapi_New()

OYAPI oyCMMapi_s *OYEXPORT oyCMMapi_New | ( | oyObject_s | object | ) |

allocate a new CMMapi object

Function oyCMMapi_New

References oyOBJECT_OBJECT_S.

## ◆ oyCMMapi_Release()

OYAPI int OYEXPORT oyCMMapi_Release | ( | oyCMMapi_s ** | cmmapi | ) |

release and possibly deallocate a oyCMMapi_s object

Function oyCMMapi_Release

Parameters

  [in,out] | cmmapi | CMMapi struct object

References oyOBJECT_CMM_API_S.

## ◆ oyCMMapi_Set()

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.

Function oyCMMapi_Set

Parameters

  api | the struct
  init | custom initialisation
  msg_set | message function setter
  registration | the modules Registration string,
  version | module version 0: major - should be stable for the live time of a filter 1: minor - mark new features 2: patch version - correct errors
  module_api | tell compatibility with Oyranos API 0: last major Oyranos version during development time, e.g. 0 1: last minor Oyranos version during development time, e.g. 9 2: last Oyranos patch version during development time, e.g. 5

Version
  Oyranos: 0.9.5

Since
  2013/06/10 (Oyranos: 0.9.5)

Date
  2013/06/10

## ◆ oyCMMapi_SetNext()

void oyCMMapi_SetNext | ( | oyCMMapi_s * | api,
|  | oyCMMapi_s * | next
| ) |  |

chain CMMapi's

Function oyCMMapi_SetNext

A oyCMMapi_s is initially not chained and will thus not be detected during parsing the oyCMMinfo_s structure. Append a CMMapi by searching for a empty place through oyCMMapi_s::oyCMMapi_GetNext ( api ) == NULL . Then append the new CMMapi with oyCMMapi_s::oyCMMapi_SetNext ( old_api, my_new_api ).

See also
  oyCMMinfo_SetApi for setting the first visible api.

Parameters

  api | the struct
  next | struct to chain

Version
  Oyranos: 0.9.5

Since
  2013/06/10 (Oyranos: 0.9.5)

Date
  2013/06/10

Examples:
  oyranos_cmm_oJPG.c.

## Field Documentation

## ◆ copy

oyStruct_Copy_f oyCMMapi_s::copy

Copy function.

## ◆ oy_

oyObject_s oyCMMapi_s::oy_

Oyranos internal object.

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

## ◆ release

oyStruct_Release_f oyCMMapi_s::release

Release function.

## ◆ type_

const oyOBJECT_e oyCMMapi_s::type_

Type of object.

The struct type tells Oyranos how to interprete hidden fields.

Referenced by oyCMMapis_s::oyCMMapis_MoveIn().