Oyranos Color Management System API - Version 0.9.6
Functions
Device Handling

Color device meta data and profile handling. More...

Collaboration diagram for Device Handling:

Functions

OYAPI int OYEXPORT oyDevicesGet (const char *device_type, const char *device_class, oyOptions_s *options, oyConfigs_s **devices)
 get all devices matching to a device class and type More...
 
OYAPI int OYEXPORT oyDeviceGet (const char *device_type, const char *device_class, const char *device_name, oyOptions_s *options, oyConfig_s **device)
 ask a module for device informations or other direct calls More...
 
OYAPI int OYEXPORT oyDeviceBackendCall (oyConfig_s *device, oyOptions_s *options)
 get device answere from options More...
 
OYAPI int OYEXPORT oyDeviceSetup (oyConfig_s *device, oyOptions_s *options)
 activate the device using the stored configuration More...
 
int oyDeviceUnset (oyConfig_s *device)
 unset the device profile More...
 
OYAPI int OYEXPORT oyDeviceGetInfo (oyConfig_s *device, oyNAME_e type, oyOptions_s *options, char **info_text, oyAlloc_f allocateFunc)
 get all devices matching to a device class and type More...
 
OYAPI int OYEXPORT oyDeviceGetProfile (oyConfig_s *device, oyOptions_s *options, oyProfile_s **profile)
 order a device profile More...
 
OYAPI int OYEXPORT oyDeviceAskProfile2 (oyConfig_s *device, oyOptions_s *options, oyProfile_s **profile)
 ask for the device profile More...
 
int oyDeviceSetProfile (oyConfig_s *device, oySCOPE_e scope, const char *profile_name)
 set the device profile More...
 
OYAPI int OYEXPORT oyDeviceProfileFromDB (oyConfig_s *device, char **profile_name, oyAlloc_f allocateFunc)
 look up a profile of a device from DB More...
 
OYAPI int OYEXPORT oyDeviceSelectSimiliar (oyConfig_s *pattern, oyConfigs_s *heap, uint32_t flags, oyConfigs_s **matched_devices)
 get similiar devices by a pattern from a list More...
 
OYAPI int OYEXPORT oyDeviceFromJSON (const char *json_text, oyOptions_s *options, oyConfig_s **device)
 generate a device from a JSON device calibration More...
 
OYAPI int OYEXPORT oyDeviceToJSON (oyConfig_s *device, oyOptions_s *options, char **json_text, oyAlloc_f allocateFunc)
 get JSON format device calibration text from a device More...
 
OYAPI int OYEXPORT oyDevicesFromTaxiDB (oyConfig_s *device, oyOptions_s *options, oyConfigs_s **devices, oyObject_s obj)
 search a calibration state in the taxi DB for a device More...
 

Detailed Description

Color device meta data and profile handling.

Device Handling inside Oyranos is based on a key/value set, which describes a device and the associated profile. An additional matching set, allows Oyranos to compare different device configurations with a given devices key/value set. If accepted a new device will be added to the proper device key namespace and is permanently stored on disk in a config DB. In case of erasure the key set is removed from the config DB.

The soft matching approach is used in order to compare devices across different ports and computers. The highest match wins and it's profile is assigned. This approach allows to match oven remote profiles like ones from online DB's.

For direct work with the low level key/value matching use oyDeviceFromJSON(), oyRankMapFromJSON() and oyConfig_SetRankMap() API's.

Include the oyranos_devices.h header file to use the interfaces.

Devices are a special form of configurations. Their access is grouped for effective performance. Known devices are queried with oyDevicesGet(). oyConfigDomainList() provides a list of known device modules. A single device can be obtained by oyDeviceGet(). The device_type argument defaults to OY_TYPE_STD and can be omitted for this group. The device_class argument specifies a subgroup, e.g. "monitor".

All other functions return a handle to the device. With this handle it is possible to get informations (oyDeviceGetInfo()), query it's current, possibly remote profile (oyDeviceAskProfile2()) or typical used get a profile with fallbacks including the DB through (oyDeviceGetProfile()), set the profile persistent (oyDeviceSetProfile()) or query the persistent stored profile (oyDeviceProfileFromDB()).

Function Documentation

◆ oyDeviceAskProfile2()

OYAPI int OYEXPORT oyDeviceAskProfile2 ( oyConfig_s device,
oyOptions_s options,
oyProfile_s **  profile 
)

ask for the device profile

Function oyDeviceAskProfile2 Ask for a profile associated with the device. A device capable to hold a profile. Only the held profile will be checked and returned. In case this profile is not found a "icc_profile" of oyVAL_STRUCT should be included.

The device might not be able to hold a profile, then just the DB profile will be returned from here without an issue. For interessted users, the source of the profile keeps transparent, as it can be checked if the device contains a "icc_profile" option which contains a oyProfile_s object.

Parameters
[in]devicethe device
[in]optionsadditional options
[out]profilethe device's ICC profile
Returns
0 - good, 1 >= error, -1 <= issue(s)
Version
Oyranos: 0.1.10
Since
2009/02/10 (Oyranos: 0.1.10)
Date
2009/12/10

References oyOBJECT_CONFIG_S, and oyOptions_s::oyOptions_New().

Referenced by oyDeviceGetProfile().

◆ oyDeviceBackendCall()

OYAPI int OYEXPORT oyDeviceBackendCall ( oyConfig_s device,
oyOptions_s options 
)

get device answere from options

Function oyDeviceBackendCall

Parameters
[in]devicethe device
[in]optionsoptions for the device
Returns
error
Version
Oyranos: 0.1.10
Since
2009/02/02 (Oyranos: 0.1.10)
Date
2009/08/25
  1. obtain detailed and expensive device informations for a zero options argument through the "properties" command.

1.1 add "properties" call to module arguments

  1. talk to the module

References oyOBJECT_CONFIG_S.

◆ oyDeviceFromJSON()

OYAPI int OYEXPORT oyDeviceFromJSON ( const char *  json_text,
oyOptions_s options,
oyConfig_s **  device 
)

generate a device from a JSON device calibration

Function oyDeviceFromJSON

Parameters
[in]json_textthe device calibration
[in]optionsoptional
  • "underline_key_suffix" will be used as suffix for keys starting with underline '_'
  • "pos" integer selects position in array
[out]configthe device
Returns
error
Version
Oyranos: 0.9.6
Date
2015/02/10
Since
2011/08/21 (Oyranos: 0.3.2)

◆ oyDeviceGet()

OYAPI int OYEXPORT oyDeviceGet ( const char *  device_type,
const char *  device_class,
const char *  device_name,
oyOptions_s options,
oyConfig_s **  device 
)

ask a module for device informations or other direct calls

Function oyDeviceGet

oyConfig_s * device = 0;
int error = oyDeviceGet( 0, "monitor", ":0.0", 0, &device );
oyConfig_Release( &device );
// pass empty options to the module to get a usage message
oyOptions_s * options = oyOptions_New( 0 );
oyDeviceGet( OY_TYPE_STD, "monitor", ":0.0", options, 0 );
Parameters
[in]device_typethe device type, e.g. OY_TYPE_STD, defaults to OY_TYPE_STD (optional)
[in]device_classregistration oyFILTER_REG_APPLICATION part, e.g. "monitor", mandatory
[in]device_namethe device name as returned by oyConfigs_FromPattern_f, mandatory, oyFILTER_REG_OPTION
[in]optionsoptions to pass to the module, for zero the verbose and expensive "properties" call is assumed
[out]devicethe returned device
Returns
error
Version
Oyranos: 0.1.10
Since
2009/01/28 (Oyranos: 0.1.10)
Date
2009/02/09
  1. obtain basic device informations

1.1 add "list" call to module arguments

1.1.2 set device filter

  1. get the device
  2. check for success of device detection
Examples
image2pdf.c.

◆ oyDeviceGetInfo()

OYAPI int OYEXPORT oyDeviceGetInfo ( oyConfig_s device,
oyNAME_e  type,
oyOptions_s options,
char **  info_text,
oyAlloc_f  allocateFunc 
)

get all devices matching to a device class and type

Function oyDeviceGetInfo

// print all properties
int error = oyDeviceGetInfo( device, oyNAME_DESCRIPTION, 0, &text,
malloc );
char * list = text, * tmp = 0, * line = malloc(128);
int even = 1;
tmp = list;
while(list && list[0])
{
snprintf( line, 128, "%s", list );
if(strchr( line, '\n' ))
{
tmp = strchr( line, '\n' );
tmp[0] = 0;
}
if(even)
printf( "%s\n", line );
else
printf( " %s\n", line );
list = strchr( list, '\n' );
if(list) ++list;
even = !even;
}
if(line) free(line);
if(text) free(text);

To obtain a certain single pice of information you do not need oyDeviceGetInfo. See the following example:

char * device_name = ":0.0"; // a typical device
char * text = 0;
oyConfig_s * device = 0;
oyOptions_s * options = 0;
int error = 0;
// tell the module with the "properties" call to add all informations
error = oyOptions_SetFromText( &options, "//" OY_TYPE_STD
"/config/command",
"properties", OY_CREATE_NEW );
oyDeviceGet( OY_TYPE_STD, "monitor", device_name, options, &device );
text = oyConfig_FindString( device, "manufacturer", 0 );
Parameters
[in]devicethe device
[in]typeinfluences the info_text output
  • oyNAME_NAME - a short one line text,
  • oyNAME_NICK - one word,
  • oyNAME_DESCRIPTION - expensive text, even lines contain the property key name, odd lines contain the value, lines are separated by newline '\n'
[in]optionsdefaults to command=properties
[out]info_textthe text
[in]allocateFuncthe user allocator for info_text
Returns
0 - good, 1 >= error, -1 <= issue(s)
Version
Oyranos: 0.1.10
Since
2009/02/02 (Oyranos: 0.1.10)
Date
2009/03/27

1.2 ask each module

1.2.1 add device_name to the string list

References oyNAME_DESCRIPTION, oyNAME_NICK, oyOBJECT_CONFIG_S, oyOptions_s::oyOptions_Count(), and oyOptions_s::oyOptions_FindString().

◆ oyDeviceGetProfile()

OYAPI int OYEXPORT oyDeviceGetProfile ( oyConfig_s device,
oyOptions_s options,
oyProfile_s **  profile 
)

order a device profile

Function oyDeviceGetProfile This function is designed to satisfy most users as it tries to deliver a profile all the time. Following code can almost allways expect some profile to go with. It tries hard to get a current profile or set the system up and retry or get at least one basic profile.

For a basic and thus weaker call to the device use oyDeviceAskProfile2() instead.

Parameters
devicethe device
options
profilethe device's ICC profile
Returns
error
Version
Oyranos: 0.9.6
Since
2009/02/08 (Oyranos: 0.1.10)
Date
2014/08/04

This function does a device setup in case no profile is delivered by the according module.

As a last means oyASSUMED_WEB is delivered.

Examples
image2pdf.c, and tutorial1.c.

References oyDeviceAskProfile2(), and oyOBJECT_CONFIG_S.

◆ oyDeviceProfileFromDB()

OYAPI int OYEXPORT oyDeviceProfileFromDB ( oyConfig_s device,
char **  profile_name,
oyAlloc_f  allocateFunc 
)

look up a profile of a device from DB

Function oyDeviceProfileFromDB The function asks the module for a detailed and possible expensive list of device information and tries to find a matching configuration in the DB. The device informations are the same as for saving to DB.

Parameters
[in]devicea device
[in]profile_nameprofile's name in DB
[in]allocateFuncuser allocator
Returns
error
Version
Oyranos: 0.1.10
Since
2009/01/21 (Oyranos: 0.1.10)
Date
2009/02/09

Referenced by oyDeviceUnset().

◆ oyDeviceSelectSimiliar()

OYAPI int OYEXPORT oyDeviceSelectSimiliar ( oyConfig_s pattern,
oyConfigs_s heap,
uint32_t  flags,
oyConfigs_s **  matched_devices 
)

get similiar devices by a pattern from a list

Function oyDeviceSelectSimiliar The function takes a device and tries to find exact matches, which can be considered as belonging to the same device. The comparision can be influenced by the flags. The option "profile_name" is ignored during the comparision.

Parameters
[in]patternPass a device used as reference. String options of this object are compared to the objects in the heap argument depending on the flags argument. "profile_name" and other options from heap objects are ignored.
[in]heapa list of device objects
[in]flags- 0 yields exact match
  • 1 compare manufacturer model and serial
  • 2 compare only manufacturer and model
  • 4 compare only device_name
[out]matched_devicesthe devices selected from heap
Returns
error
Version
Oyranos: 0.1.10
Since
2009/08/27 (Oyranos: 0.1.10)
Date
2009/08/27

◆ oyDeviceSetProfile()

int oyDeviceSetProfile ( oyConfig_s device,
oySCOPE_e  scope,
const char *  profile_name 
)

set the device profile

Function oyDeviceSetProfile The function will lookup the device in the Oyranos device database and stores the given profile there.

To set a new profile und update the device please call the following sequence:

// store new settings in the Oyranos data base
oyDeviceSetProfile( device, profile );
// remove any device entries
oyDeviceUnset( device );
// update the device from the newly added Oyranos data base settings
oyDeviceSetup( device );
Parameters
devicethe device
scopeoySCOPE_USER and oySCOPE_SYS are possible
profile_namethe device's ICC profile or zero to unset
Returns
error
Version
Oyranos: 0.9.6
Date
2015/08/03
Since
2009/02/07 (Oyranos: 0.1.10)
  1. obtain detailed and expensive device informations

1.1 add "properties" call to module arguments

1.2 call the device module

  1. check for success of device detection
  2. load profile from file name argument

3.1 check for success of profile loading

  1. Now remove all those DB configurations fully matching the selected device.

4.1 get stored DB's configurations

4.1.1 compare if each device key matches to one configuration key

4.1.2 if the 4.1.1 condition is true remove the configuration

  1. save the new configuration with a associated profile
    5.1 add the profile simply to the device configuration

5.2 save the configuration to DB (Elektra)

5.3 reload the DB part

Examples
tutorial_taxi.c.

References oyOBJECT_CONFIG_S, and oyOptions_s::oyOptions_Count().

◆ oyDeviceSetup()

OYAPI int OYEXPORT oyDeviceSetup ( oyConfig_s device,
oyOptions_s options 
)

activate the device using the stored configuration

Function oyDeviceSetup

Parameters
[in]devicethe device
[in]optionsadditional options,
  • "skip_ask_for_profile == "yes" - skips oyDeviceAskProfile2() call; useful for systems, where no empty profile is possible like CS
Returns
error
Version
Oyranos: 0.9.6
Date
2015/02/04
Since
2009/01/30 (Oyranos: 0.1.10)

We ignore a device, which already has its profile setup.

Warn on not found profile.

Examples
tutorial_taxi.c.

◆ oyDevicesFromTaxiDB()

OYAPI int OYEXPORT oyDevicesFromTaxiDB ( oyConfig_s device,
oyOptions_s options,
oyConfigs_s **  devices,
oyObject_s  obj 
)

search a calibration state in the taxi DB for a device

Function oyDevicesFromTaxiDB oyDevicesFromTaxiDB() needs a device containing the calibration state and gives you a list of found devices in Taxi DB. You can extract the device ID inside the "TAXI_id" string from the returned devices "db" options sets. Typical you want one entry in the profiles list assigned with that device. oyProfile_FromTaxiDB() can be used to download that and oyProfile_Install() helps installing it, while doing some consistency checks.

#include <string.h>
#include <stdio.h> /* sprintf() */
#include <oyConfig_s.h>
#include <oyOptions_s.h>
int main ( int argc, char ** argv )
{
// get a device
oyConfig_s * device = 0;
oyConfigs_s * ds = 0;
oyDevicesGet( 0, "monitor", 0, &ds );
device = oyConfigs_Get( ds, 0 ); oyConfigs_Release( &ds );
// get all Taxi DB entries for a device
oyConfigs_s * taxi_devices = 0;
int error;
error = oyDevicesFromTaxiDB( device, 0, &taxi_devices, 0 );
// see how many are included
int n = oyConfigs_Count( taxi_devices ),
i;
char * id = calloc( sizeof(char), 1024 );
for(i = 0; i < n; ++i)
{
int32_t rank = 0;
oyOptions_s * options = NULL;
oyConfig_s * taxi_device = oyConfigs_Get( taxi_devices, i );
error = oyConfig_Compare( device, taxi_device, &rank );
// get first profile from Taxi DB
if(i == 0)
{
// select the first assigned profile in position zero
snprintf( id, 1024, "%s/0", oyOptions_FindString(
*oyConfig_GetOptions(taxi_device,"db"),
"TAXI_id", 0 ));
error = oyOptions_SetFromText( &options,
"//" OY_TYPE_STD "/db/TAXI_id",
id,
ip = oyProfile_FromTaxiDB( options, NULL );
oyOptions_Release( &options );
if(rank > 0)
{
error = oyOptions_SetFromText( &options,
"////device", "1",
error = oyProfile_Install( ip, scope, options );
oyOptions_Release( &options );
if(!ip)
printf( "No valid Profile obtained: %s\n", id );
printf( "Profile already installed: %s\n", oyProfile_GetText( ip, oyNAME_DESCRIPTION ));
else if(error == oyERROR_DATA_WRITE)
printf( "User Path can not be written\n" );
else if(error == oyCORRUPTED)
printf( "Profile not useable: %s\n", oyProfile_GetText( ip, oyNAME_DESCRIPTION ) );
else if(error > 0)
printf( "%s - %d","Internal Error", error );
else
{
uint32_t icc_profile_flags = 0;
const char * filename = oyProfile_GetFileName( ip, -1 );
/* select profiles matching actual capabilities */
"//" OY_TYPE_STD "/icc_color", NULL, 0 );
printf( "installed -> %s\n", filename );
// store new settings in the Oyranos data base
oyDeviceSetProfile( device, oySCOPE_USER, strrchr( filename, OY_SLASH_C ) + 1 );
// remove any device entries
oyDeviceUnset( device );
// update the device from the newly added Oyranos data base settings
error = oyOptions_SetFromInt( &options,
"//" OY_TYPE_STD "/icc_profile_flags",
icc_profile_flags, 0, OY_CREATE_NEW );
error = oyOptions_SetFromText( &options,
"//"OY_TYPE_STD"/config/skip_ask_for_profile", "yes", OY_CREATE_NEW );
oyDeviceSetup( device, options );
printf( "assigned -> %s\n", strrchr( filename, OY_SLASH_C ) + 1 );
}
}
}
if(rank > 0)
{
const char * t = oyConfig_FindString(taxi_device, "TAXI_profile_description", 0);
printf( "rank[%d] %s\n", rank, t?t:"" );
}
}
// release data
oyConfigs_Release( &taxi_devices );
return 0;
}
Parameters
[in]devicethe device
[in]optionsnot used
[out]devicesthe obtained device calibrations
Returns
0 - good, >= 1 - error + a message should be sent
Version
Oyranos: 0.9.1
Since
2011/09/14 (Oyranos: 0.3.2)
Date
2012/11/15
Examples
tutorial_taxi.c.

References oyOBJECT_CONFIG_S.

◆ oyDevicesGet()

OYAPI int OYEXPORT oyDevicesGet ( const char *  device_type,
const char *  device_class,
oyOptions_s options,
oyConfigs_s **  devices 
)

get all devices matching to a device class and type

Function oyDevicesGet

// "list" all monitors
oyConfigs_s * monitors = 0;
int error = oyDevicesGet( 0, "monitor", 0, &monitors );
// see how many are included
int n = oyConfigs_Count( monitors );
// release them
oyConfigs_Release( &monitors );

For obtaining expensive "properties" informations at once, add the according option.

// get all monitors the expensive way
oyConfigs_s * monitors = 0;
oyOptions_s * options = oyOptions_New( 0 );
int error = 0;
error = oyOptions_SetFromText( &options, "//" OY_TYPE_STD "/config/command",
"properties", OY_CREATE_NEW );
error = oyDevicesGet( 0, "monitor", 0, &monitors );
oyOptions_Release( &options );
// see how many are included
int n = oyConfigs_Count( monitors );
// release them
oyConfigs_Release( &monitors );
Parameters
[in]device_typethe device type oyFILTER_REG_TYPE, defaults to OY_TYPE_STD (optional)
[in]device_classthe device class, e.g. "monitor", oyFILTER_REG_APPLICATION
[in]optionsoptions for the device
[out]devicesthe found devices
Returns
0 - good, >= 1 - error, <= -1 unknown
Version
Oyranos: 0.1.10
Since
2009/02/02 (Oyranos: 0.1.10)
Date
2009/02/02
  1. obtain detailed and expensive device informations

1.1 add "list" call to module arguments

1.2 ask each module

Examples
tutorial1.c, and tutorial_taxi.c.

◆ oyDeviceToJSON()

OYAPI int OYEXPORT oyDeviceToJSON ( oyConfig_s device,
oyOptions_s options,
char **  json_text,
oyAlloc_f  allocateFunc 
)

get JSON format device calibration text from a device

Function oyDeviceToJSON

Parameters
[in]configthe device
[in]options"source" value is used for oyConfig_GetOptions()
[out]json_textthe device calibration
[in]allocateFuncuser allocator
Returns
error
Version
Oyranos: 0.3.2
Since
2011/08/21 (Oyranos: 0.3.2)
Date
2011/08/21

◆ oyDeviceUnset()

int oyDeviceUnset ( oyConfig_s device)

unset the device profile

Function oyDeviceUnset The function solely calls unset in the module, e.g. unset graphic card luts and server stored profile. So pretty all device/server side informatin should go away.

Parameters
devicethe device
Returns
error
Version
Oyranos: 0.1.10
Since
2009/02/12 (Oyranos: 0.1.10)
Date
2009/02/12
  1. query the full device information

1.1 get device_name

  1. unset the device through the module

2.1 set a general request

2.2 send the query to a module

  1. ping the DB
Examples
tutorial_taxi.c.

References oyConfig_s::oyConfig_FindString(), oyDeviceProfileFromDB(), and oyOBJECT_CONFIG_S.

oyOptions_s.h
oySCOPE_e
oySCOPE_e
Select Scope for Installation or Configurations.
Definition: oyranos.h:47
oyConfig_s::oyConfig_Compare
int oyConfig_Compare(oyConfig_s *module_device, oyConfig_s *db_pattern, int32_t *rank_value)
Check for matching to a given pattern.
Definition: oyConfig_s.c:465
oyConfig_s.h
oyOptions_s::oyOptions_New
OYAPI oyOptions_s *OYEXPORT oyOptions_New(oyObject_s object)
allocate a new Options object
Definition: oyOptions_s.c:44
oyConfig_s::oyConfig_FindString
OYAPI const char *OYEXPORT oyConfig_FindString(oyConfig_s *config, const char *key, const char *value)
Search in data sets for a key/value.
Definition: oyConfig_s.c:715
oyOptions_s::oyOptions_SetFromText
int oyOptions_SetFromText(oyOptions_s **obj, const char *registration, const char *value, uint32_t flags)
change a value
Definition: oyOptions_s.c:1514
OY_TYPE_STD
#define OY_TYPE_STD
Definition: oyranos_definitions.h:118
oyConfigs_s
A Configs list.
Definition: oyConfigs_s.h:69
oyNAME_DESCRIPTION
@ oyNAME_DESCRIPTION
Definition: oyranos_core.h:75
oyConfig_s
A group of options for a device.
Definition: oyConfig_s.h:66
oyranos_devices.h
oyDeviceSetProfile
int oyDeviceSetProfile(oyConfig_s *device, oySCOPE_e scope, const char *profile_name)
set the device profile
Definition: oyranos_devices.c:980
oyranos_conversion.h
oyProfile_s::oyProfile_FromTaxiDB
OYAPI oyProfile_s *OYEXPORT oyProfile_FromTaxiDB(oyOptions_s *options, oyObject_s object)
look up a profile of a device from Taxi DB
Definition: oyProfile_s.c:589
oyICCProfileSelectionFlagsFromOptions
uint32_t oyICCProfileSelectionFlagsFromOptions(const char *db_base_key, const char *base_pattern, oyOptions_s *options, int select_core)
Get valid profile selection flags from node options and fallbacks.
Definition: oyranos_devices.c:3323
oyConfigs_s::oyConfigs_Count
OYAPI int OYEXPORT oyConfigs_Count(oyConfigs_s *list)
count the elements in a Configs list
Definition: oyConfigs_s.c:221
oyConfigs_s::oyConfigs_Release
OYAPI int OYEXPORT oyConfigs_Release(oyConfigs_s **configs)
release and possibly deallocate a oyConfigs_s object
Definition: oyConfigs_s.c:91
oyDevicesFromTaxiDB
OYAPI int OYEXPORT oyDevicesFromTaxiDB(oyConfig_s *device, oyOptions_s *options, oyConfigs_s **devices, oyObject_s obj)
search a calibration state in the taxi DB for a device
Definition: oyranos_devices.c:1686
oyOptions_s
generic Options
Definition: oyOptions_s.h:80
oyConfig_s::oyConfig_GetOptions
OYAPI oyOptions_s **OYEXPORT oyConfig_GetOptions(oyConfig_s *config, const char *source)
Get options from a source.
Definition: oyConfig_s.c:912
oyProfile_s::oyProfile_GetText
OYAPI const oyChar *OYEXPORT oyProfile_GetText(oyProfile_s *profile, oyNAME_e type)
Get a presentable name.
Definition: oyProfile_s.c:1315
oySCOPE_USER
@ oySCOPE_USER
Definition: oyranos.h:49
oyOptions_s::oyOptions_Release
OYAPI int OYEXPORT oyOptions_Release(oyOptions_s **options)
release and possibly deallocate a oyOptions_s object
Definition: oyOptions_s.c:91
oyDevicesGet
OYAPI int OYEXPORT oyDevicesGet(const char *device_type, const char *device_class, oyOptions_s *options, oyConfigs_s **devices)
get all devices matching to a device class and type
Definition: oyranos_devices.c:112
oyOptions_s::oyOptions_FindString
const char * oyOptions_FindString(oyOptions_s *options, const char *registration, const char *value)
search for a certain option key and possibly value
Definition: oyOptions_s.c:1441
oyDeviceGetInfo
OYAPI int OYEXPORT oyDeviceGetInfo(oyConfig_s *device, oyNAME_e type, oyOptions_s *options, char **info_text, oyAlloc_f allocateFunc)
get all devices matching to a device class and type
Definition: oyranos_devices.c:657
oyProfile_s::oyProfile_Install
OYAPI int OYEXPORT oyProfile_Install(oyProfile_s *profile, oySCOPE_e scope, oyOptions_s *options)
Install a ICC profile.
Definition: oyProfile_s.c:655
oyERROR_DATA_WRITE
@ oyERROR_DATA_WRITE
Definition: oyranos_object.h:343
oyConfigs_s::oyConfigs_Get
OYAPI oyConfig_s *OYEXPORT oyConfigs_Get(oyConfigs_s *list, int pos)
get a element of a Configs list
Definition: oyConfigs_s.c:192
oyProfile_s
A profile and its attributes.
Definition: oyProfile_s.h:95
oyDeviceGet
OYAPI int OYEXPORT oyDeviceGet(const char *device_type, const char *device_class, const char *device_name, oyOptions_s *options, oyConfig_s **device)
ask a module for device informations or other direct calls
Definition: oyranos_devices.c:181
oyProfile_s::oyProfile_GetFileName
OYAPI const char *OYEXPORT oyProfile_GetFileName(oyProfile_s *profile, int dl_pos)
Get the ICC profile location in the filesystem.
Definition: oyProfile_s.c:1862
oyDeviceSetup
OYAPI int OYEXPORT oyDeviceSetup(oyConfig_s *device, oyOptions_s *options)
activate the device using the stored configuration
Definition: oyranos_devices.c:323
OY_SLASH_C
#define OY_SLASH_C
Definition: oyranos_definitions.h:108
oyOptions_s::oyOptions_SetFromInt
int oyOptions_SetFromInt(oyOptions_s **obj, const char *registration, int32_t value, int pos, uint32_t flags)
change a value
Definition: oyOptions_s.c:1632
oyConfig_s::oyConfig_Release
OYAPI int OYEXPORT oyConfig_Release(oyConfig_s **config)
release and possibly deallocate a oyConfig_s object
Definition: oyConfig_s.c:95
oyDeviceUnset
int oyDeviceUnset(oyConfig_s *device)
unset the device profile
Definition: oyranos_devices.c:543
oyERROR_DATA_AMBIGUITY
@ oyERROR_DATA_AMBIGUITY
Definition: oyranos_object.h:344
OY_CREATE_NEW
#define OY_CREATE_NEW
Definition: oyOptions_s.h:52
OY_CMM_STD
#define OY_CMM_STD
Definition: oyranos_definitions.h:131