Oyranos Colour Management System API
Public Types | Data Fields
oyCMMapi8_s Struct Reference

configuration handler More...

#include <oyranos_cmm.h>

Inheritance diagram for oyCMMapi8_s:
Inheritance graph
[legend]
Collaboration diagram for oyCMMapi8_s:
Collaboration graph
[legend]

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_snext
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_sui
oyIcon_sicon
oyRankPad * rank_map

Detailed Description

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.

Future directions:
For automatic UI's this module API should provide a XFORMS UI about the result and return a oyConfig_s for a filled form.

A empty device module is provided with oyranos_cmm_dDev.c in Oyranos' examples/ directory.

Version:
Oyranos: 0.1.10
Since:
2009/01/16 (Oyranos: 0.1.10)
Date:
2009/12/15

Field Documentation

oyStruct_Copy_f oyCMMapi8_s::copy

copy function

Reimplemented from oyCMMapiFilter_s.

module associated icon

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().

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

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.