Oyranos Color Management System API
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Functions
Policy API

Set and export policies in Oyranos. More...

Collaboration diagram for Policy API:

Functions

int oyPolicySaveActual (oyGROUP_e group, const char *name)
 save a options group to a file More...
 
char * oyPolicyToXML (oyGROUP_e group, int add_header, oyAlloc_f allocate_func)
 
int oyReadXMLPolicy (oyGROUP_e group, const char *xml)
 
int oyPolicyFileNameGet (const char *policy_name, char **full_name, oyAlloc_f allocateFunc)
 resolve the file name of a policy More...
 
int oyPolicySet (const char *policy_file, const char *full_name)
 

Detailed Description

Set and export policies in Oyranos.

Policies are a set of options used to group color management settings.

The core API consists of oyReadXMLPolicy() and its reversal oyPolicyToXML().

Additional oyPolicySaveActual() is used to store the actual options into a policy, oyPolicyFileNameGet() to obtain the file name for a given policy name and oyPolicySet() to import the actual policy from a file.

For getting the count, names and actual one of the installed policy files use oyOptionChoicesGet() e.g. oyOptionChoicesGet( oyWIDGET_POLICY, &count, &names, &current )

Future:
The policies are abstracted into the backend API oyCMMapi9_s. The layout of these options can be obtained from the according backends. The color management policy module for Oyranos is named "oicc".
Todo:
define some default policies internally

Function Documentation

int oyPolicyFileNameGet ( const char *  policy_name,
char **  full_name,
oyAlloc_f  allocateFunc 
)

resolve the file name of a policy

oyPolicyFileNameGet The resolving is done by weak string matching. So it is possible to use short hands, e.g. "Photo" for "Photographer". The first letter is ignored. A convenience function.

Parameters
[in]policy_namethe selected policy
[out]full_namethe full file name of policy_name
[in]allocateFuncoptional user allocator
Returns
error
Version
Oyranos: 0.1.10
Since
2010/02/28 (Oyranos: 0.1.10)
Date
2010/02/28
int oyPolicySaveActual ( oyGROUP_e  group,
const char *  name 
)

save a options group to a file

The function is basically a wrapper for oyPolicyToXML() and will write the resulting XML to a file somewhere in XDG_CONFIG_HOME.

A convenience function.

Parameters
groupuse oyGROUP_ALL for a typical snapshot
namethe name will become part of a filename
Returns
error
Version
Oyranos: 0.1.8
Since
2008/07/23 (Oyranos: 0.1.8)
Date
2008/07/23
int oyPolicySet ( const char *  policy_file,
const char *  full_name 
)

Load a group of policy settings.
use xml-ish file input produced by oyPolicyToXML()

A convenience function.

Parameters
policy_filethe policy file, will be locked up in standard paths
full_namefile name including path
Returns
errors
char* oyPolicyToXML ( oyGROUP_e  group,
int  add_header,
oyAlloc_f  allocate_func 
)

Save a group of policy settings.
Write only such variables, which are available and ignore unknown ones. This currently produces pseudo xml configuration files.

Parameters
groupthe policy group
add_headeradd description
allocate_funcuser provided function for allocating the strings memory
Returns
the configuration as XML to save to file
int oyReadXMLPolicy ( oyGROUP_e  group,
const char *  xml 
)

Load a group of policy settings.
use xml-ish input produced by oyPolicyToXML()

Parameters
groupthe policy group
xmlxml configuration string
Returns
errors