![]() |
Oyranos Colour Management System API |
configuration handler More...
#include <oyranos_cmm.h>


Public Types | |
| typedef int(* | oyConfigs_FromPattern_f )(const char *registration, oyOptions_s *options, oyConfigs_s **configs) |
| return available configurations | |
| typedef int(* | oyConfigs_Modify_f )(oyConfigs_s *configs, oyOptions_s *options) |
| enrich/manipulate existing configurations | |
| typedef int(* | oyConfig_Rank_f )(oyConfig_s *config) |
| check for correctness | |
Data Fields | |
| oyOBJECT_e | type |
| oyStruct_Copy_f | copy |
| oyStruct_Release_f | release |
| oyCMMapi_s * | next |
| oyCMMInit_f | oyCMMInit |
| oyCMMMessageFuncSet_f | oyCMMMessageFuncSet |
| char * | registration |
| int32_t | version [3] |
| int32_t | module_api [3] |
| oyConfigs_FromPattern_f | oyConfigs_FromPattern |
| oyConfigs_Modify_f | oyConfigs_Modify |
| oyConfig_Rank_f | oyConfig_Rank |
| oyCMMui_s * | ui |
| oyIcon_s * | icon |
| oyRankPad * | rank_map |
configuration handler
Oyranos knows about configurations sets as oyConfig_s structures. These configurations can be created, modified and compared by this module type and stored by Oyranos' core. They are stored under the base key path decided by each configuration module individualy in its oyCMMapi8_s::registration string.
This API provides weak interface compile time checking.
The module knows what to configure. This can be devices, filters or something else. A oyCMMapi8_s module counts the understood endities and veryfies a provided oyConfig_s for correctness. Oyranos requires just the fourth type string in the registration path starting with "config". This requirement is useful to group DB keys alphabetically.
In the case of a device, a application can ask Oyranos for all or a subset of available devices with oyConfigs_FromPattern.
A application can modify a selection of oyConfig_s objects and modify them. It is adviced to let Oyranos ask the module in advance through oyConfig_Rank_f, if the modified oyConfig_s object is still valid.
A empty device module is provided with oyranos_cmm_dDev.c in Oyranos' examples/ directory.
| oyStruct_Copy_f oyCMMapi8_s::copy |
copy function
Reimplemented from oyCMMapiFilter_s.
module associated icon
| int32_t oyCMMapi8_s::module_api[3] |
0: last major Oyranos version during development time, e.g. 0 1: last minor Oyranos version during development time, e.g. 0 2: last Oyranos patch version during development time, e.g. 10
Reimplemented from oyCMMapiFilter_s.
the next CMM api
Reimplemented from oyCMMapiFilter_s.
Reimplemented from oyCMMapiFilter_s.
Reimplemented from oyCMMapiFilter_s.
test config
Referenced by oyConfig_s::oyConfig_DomainRank().
obtain configs matching to a set of options
Referenced by oyConfigs_s::oyConfigs_FromDomain().
manipulate given configs
Referenced by oyConfigs_s::oyConfigs_Modify().
| oyRankPad* oyCMMapi8_s::rank_map |
zero terminated list of rank attributes; The data is just informational. In case all properties to rank a given device pair are well known, this rank_map can be copied into each oyConfig_s device created by oyConfigs_FromPattern():
oyConfig_s * device = oyConfig_New( CMM_BASE_REG, 0);
device->rank_map = oyRankMapCopy( dDev_api8->rank_map,
device->oy_->allocateFunc_);
For additional dynamic rank pads the allocation can be done individually.
Referenced by oyConfigs_s::oyConfigs_FromDB().
The oyFILTER_REG_APPLICATION of "config" is obligatory.
e.g. "shared/freedesktop.org/imaging/config.device.icc_profile.scanner.sane" or "shared/freedesktop.org/imaging/config.device.icc_profile.monitor.xorg"...
see as well Registration
Reimplemented from oyCMMapiFilter_s.
| oyStruct_Release_f oyCMMapi8_s::release |
release function
Reimplemented from oyCMMapiFilter_s.
Referenced by oyConfig_s::oyConfig_DomainRank().
| oyOBJECT_e oyCMMapi8_s::type |
struct type oyOBJECT_CMM_API8_S
Reimplemented from oyCMMapiFilter_s.
a UI description
| int32_t oyCMMapi8_s::version[3] |
0: major - should be stable for the live time of a module,
1: minor - mark new features,
2: patch version - correct errors
Reimplemented from oyCMMapiFilter_s.