![]() |
Oyranos Color Management System API |
A Configs list. More...
#include <oyConfigs_s.h>


Public Member Functions | |
| OYAPI oyConfigs_s *OYEXPORT | oyConfigs_New (oyObject_s object) |
| allocate a new Configs object More... | |
| OYAPI oyConfigs_s *OYEXPORT | oyConfigs_Copy (oyConfigs_s *configs, oyObject_s object) |
| copy or reference a Configs object More... | |
| OYAPI int OYEXPORT | oyConfigs_Release (oyConfigs_s **configs) |
| release and possibly deallocate a oyConfigs_s object More... | |
| OYAPI int OYEXPORT | oyConfigs_MoveIn (oyConfigs_s *list, oyConfig_s **obj, int pos) |
| add an element to a Configs list More... | |
| OYAPI int OYEXPORT | oyConfigs_ReleaseAt (oyConfigs_s *list, int pos) |
| release a element from a Configs list More... | |
| OYAPI oyConfig_s *OYEXPORT | oyConfigs_Get (oyConfigs_s *list, int pos) |
| get a element of a Configs list More... | |
| OYAPI int OYEXPORT | oyConfigs_Count (oyConfigs_s *list) |
| count the elements in a Configs list More... | |
| OYAPI int OYEXPORT | oyConfigs_Clear (oyConfigs_s *list) |
| clear the elements in a Configs list More... | |
| OYAPI int OYEXPORT | oyConfigs_Sort (oyConfigs_s *list, int32_t *rank_list) |
| sort a list according to a rank_list More... | |
| OYAPI int OYEXPORT | oyConfigs_FromDomain (const char *registration_domain, oyOptions_s *options, oyConfigs_s **configs, oyObject_s object) |
| Send a request to a configuration module. More... | |
| OYAPI int OYEXPORT | oyConfigs_FromDeviceClass (const char *device_type, const char *device_class, oyOptions_s *options, oyConfigs_s **devices, oyObject_s object) |
| Ask a module for device informations or other direct calls. More... | |
| OYAPI int OYEXPORT | oyConfigs_SelectSimilars (oyConfigs_s *list, const char *pattern[][2], oyConfigs_s **filtered) |
| filter similiar configs compared by a pattern More... | |
| OYAPI int OYEXPORT | oyConfigs_FromDB (const char *registration, oyConfigs_s **configs, oyObject_s object) |
| Get all oyConfigs_s from DB. More... | |
| OYAPI int OYEXPORT | oyConfigs_Modify (oyConfigs_s *configs, oyOptions_s *options) |
| Ask a module for device informations or other direct calls. More... | |
| OYAPI int OYEXPORT | oyConfigDomainList (const char *registration_pattern, char ***list, uint32_t *count, uint32_t **rank_list, oyAlloc_f allocateFunc) |
| Count and show the global oyConfigs_s suppliers. 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... | |
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... | |
A Configs list.
Managing the plural of oyConfig_s for the sake of typesafety.
| OYAPI int OYEXPORT oyConfigDomainList | ( | const char * | registration_pattern, |
| char *** | list, | ||
| uint32_t * | count, | ||
| uint32_t ** | rank_list, | ||
| oyAlloc_f | allocateFunc | ||
| ) |
Count and show the global oyConfigs_s suppliers.
Function oyConfigDomainList
uint32_t count = 0,
* rank_list = 0;
char ** texts = 0,
* temp = 0,
** attributes = 0,
* device_class = 0;
int i,j, attributes_n;
// get all configuration filters
oyConfigDomainList("//"OY_TYPE_STD"/config", &texts, &count,&rank_list ,0 );
for( i = 0; i < count; ++i )
{
attributes_n = 0;
// pick the filters name and remove the common config part
temp = oyFilterRegistrationToText( texts[i], oyFILTER_REG_APPLICATION,
malloc );
attributes = oyStringSplit_( temp, '.', &attributes_n, malloc );
free(temp);
temp = malloc(1024); temp[0] = 0;
for(j = 0; j < attributes_n; ++j)
{
if(strcmp(attributes[j], "config") == 0)
continue;
if(j && temp[0])
sprintf( &temp[strlen(temp)], "." );
sprintf( &temp[strlen(temp)], "%s", attributes[j]);
}
// The string in temp can be passed as the device_class argument to
// oyDevicesGet()
printf("%d: %s \"%s\"\n", i, texts[i], temp);
oyStringListRelease_( &attributes, attributes_n, free );
free (device_class);
free(temp);
}
| [in] | registration_pattern | a optional filter |
| [out] | list | the list with full filter registrations |
| [out] | count | the list count |
| [out] | rank_list | the rank fitting to list |
| [in] | allocateFunc | the user allocator for list |
Referenced by oyConfigs_FromDB(), and oyConfigs_Modify().
| OYAPI int OYEXPORT oyConfigs_Clear | ( | oyConfigs_s * | list | ) |
clear the elements in a Configs list
Function oyConfigs_Clear
| [in,out] | list | the list |
References oyOBJECT_CONFIGS_S, and oyStructList_s::oyStructList_Clear().
| OYAPI oyConfigs_s *OYEXPORT oyConfigs_Copy | ( | oyConfigs_s * | configs, |
| oyObject_s | object | ||
| ) |
copy or reference a Configs object
Function oyConfigs_Copy
The function is for copying and for referencing. The reference is the most often used way, which saves resourcs and time.
| [in] | configs | Configs struct object |
| object | NULL - means reference, the optional object triggers a real copy |
References oyOBJECT_CONFIGS_S.
| OYAPI int OYEXPORT oyConfigs_Count | ( | oyConfigs_s * | list | ) |
count the elements in a Configs list
Function oyConfigs_Count
| [in,out] | list | the list |
References oyOBJECT_CONFIGS_S, and oyStructList_s::oyStructList_Count().
Referenced by oyConfig_s::oyConfig_GetFromDB(), oyConfigs_Modify(), oyConfigs_SelectSimilars(), and oyDeviceSelectSimiliar().
| OYAPI int OYEXPORT oyConfigs_FromDB | ( | const char * | registration, |
| oyConfigs_s ** | configs, | ||
| oyObject_s | object | ||
| ) |
Get all oyConfigs_s from DB.
Function oyConfigs_FromDB
| [in] | registration | the filter |
| [out] | configs | the found configuration list |
| [in] | object | a optional user object |
0. setup Elektra
References oyConfigDomainList(), and oyConfigs_New().
Referenced by oyConfig_s::oyConfig_GetDB().
| OYAPI int OYEXPORT oyConfigs_FromDeviceClass | ( | const char * | device_type, |
| const char * | device_class, | ||
| oyOptions_s * | options, | ||
| oyConfigs_s ** | devices, | ||
| oyObject_s | object | ||
| ) |
Ask a module for device informations or other direct calls.
Function oyConfigs_FromDeviceClass
| [in] | device_type | the device type oyFILTER_REG_TYPE, defaults to OY_TYPE_STD (optional) |
| [in] | device_class | the device class, e.g. "monitor", oyFILTER_REG_APPLICATION |
| [in] | options | options to pass to the module, for zero the usage instructions are requested, a option "device_name" can be used as filter |
| [out] | devices | the devices |
| [in] | object | the optional object |
// pass empty options to the module to get a usage message
oyOptions_s * options = 0;
int error = oyConfigs_FromDeviceClass( OY_TYPE_STD, "monitor",
options, 0, 0 );
References oyOptions_s::oyOptions_Copy(), and oyOptions_s::oyOptions_FindString().
| OYAPI int OYEXPORT oyConfigs_FromDomain | ( | const char * | registration_domain, |
| oyOptions_s * | options, | ||
| oyConfigs_s ** | configs, | ||
| oyObject_s | object | ||
| ) |
Send a request to a configuration module.
Function oyConfigs_FromDomain
The convention an empty options argument should be send an Warning message containing intructions on how to talk with the module as a fallback for programmers. Otherwise the calls are pure convention and depend on the usage and agreement of the partners.
For the convention to call to color devices
| [in] | registration_domain | the module to call to |
| [in] | options | options to specify the calling into modules messages are bound to this object |
| [out] | configs | the returned configurations |
| [in] | object | a optional user object |
| OYAPI oyConfig_s *OYEXPORT oyConfigs_Get | ( | oyConfigs_s * | list, |
| int | pos | ||
| ) |
get a element of a Configs list
Function oyConfigs_Get
| [in,out] | list | the list |
| pos | position |
References oyOBJECT_CONFIG_S, oyOBJECT_CONFIGS_S, and oyStructList_s::oyStructList_GetRefType().
Referenced by oyConfig_s::oyConfig_GetFromDB(), oyConfigs_Modify(), and oyConfigs_SelectSimilars().
| OYAPI int OYEXPORT oyConfigs_Modify | ( | oyConfigs_s * | configs, |
| oyOptions_s * | options | ||
| ) |
Ask a module for device informations or other direct calls.
Function oyConfigs_Modify
| [in,out] | configs | The passed configs first member is used to obtain a registration string and select a appropriate module. Regarding the module the configs need to be homogenous. All configs are passed at once to the module. Mixing configs from different modules is not defined. |
| [in] | options | options to pass to the module; With zero the usage instructions are requested. |
References oyConfig_s::oyConfig_Release(), oyConfigDomainList(), oyConfigs_Count(), oyConfigs_Get(), and oyOBJECT_CONFIGS_S.
| OYAPI int OYEXPORT oyConfigs_MoveIn | ( | oyConfigs_s * | list, |
| oyConfig_s ** | obj, | ||
| int | pos | ||
| ) |
add an element to a Configs list
Function oyConfigs_MoveIn
| [in] | list | list |
| [in,out] | obj | list element |
| pos | position |
References oyOBJECT_CONFIG_S, oyOBJECT_CONFIGS_S, oyStructList_s::oyStructList_Create(), oyStructList_s::oyStructList_MoveIn(), and oyConfig_s::type_.
Referenced by oyConfigs_SelectSimilars().
| OYAPI oyConfigs_s *OYEXPORT oyConfigs_New | ( | oyObject_s | object | ) |
allocate a new Configs object
Function oyConfigs_New
References oyOBJECT_OBJECT_S.
Referenced by oyConfigs_FromDB(), and oyConfigs_SelectSimilars().
| OYAPI int OYEXPORT oyConfigs_Release | ( | oyConfigs_s ** | configs | ) |
release and possibly deallocate a oyConfigs_s object
Function oyConfigs_Release
| [in,out] | configs | Configs struct object |
References oyOBJECT_CONFIGS_S.
Referenced by oyConfig_s::oyConfig_GetBestMatchFromTaxiDB(), and oyConfig_s::oyConfig_GetDB().
| OYAPI int OYEXPORT oyConfigs_ReleaseAt | ( | oyConfigs_s * | list, |
| int | pos | ||
| ) |
release a element from a Configs list
Function oyConfigs_ReleaseAt
| [in,out] | list | the list |
| pos | position |
References oyOBJECT_CONFIGS_S, oyStructList_s::oyStructList_GetParentObjType(), and oyStructList_s::oyStructList_ReleaseAt().
| OYAPI int OYEXPORT oyConfigs_SelectSimilars | ( | oyConfigs_s * | list, |
| const char * | pattern[][2], | ||
| oyConfigs_s ** | filtered | ||
| ) |
filter similiar configs compared by a pattern
Function oyConfigs_SelectSimilars
This is a simple convenience function to select from a list existing configurations.
const char * pattern[][2] = {{"device_name",0},
{"manufacturer",0},
{"model",0},
{"serial",0},
{0,0}};
oyConfigs_s * devices = 0, * filtered = 0;
int error = oyConfigs_FromDB( registration, &devices, 0 );
error = oyConfigs_SelectSimilars( devices, pattern, &filtered )
* | [in] | list | the list |
| [in] | pattern | user supplied zero terminated pattern list; The first element is a mandadory key to meet. The second element is the optional value. Each |
| [out] | filtered | the result |
0. setup Elektra
References oyConfig_s::oyConfig_FindString(), oyConfig_s::oyConfig_Release(), oyConfigs_Count(), oyConfigs_Get(), oyConfigs_MoveIn(), oyConfigs_New(), and oyOBJECT_CONFIGS_S.
| OYAPI int OYEXPORT oyConfigs_Sort | ( | oyConfigs_s * | list, |
| int32_t * | rank_list | ||
| ) |
sort a list according to a rank_list
Function oyConfigs_Sort
References oyOBJECT_CONFIGS_S, and oyStructList_s::oyStructList_Sort().
| oyStruct_Copy_f oyConfigs_s::copy |
Copy function.
| oyObject_s oyConfigs_s::oy_ |
Oyranos internal object.
Features name and hash. Do not change during object life time.
| oyStruct_Release_f oyConfigs_s::release |
Release function.
| const oyOBJECT_e oyConfigs_s::type_ |
Type of object.
The struct type tells Oyranos how to interprete hidden fields.