Obtain a profile for the first monitor from Online Taxi DB.
Obtain a profile for the first monitor from Online Taxi DB.
#include <string.h>
#include <stdio.h>
int main ( int argc, char ** argv )
{
device = oyConfigs_Get( ds, 0 ); oyConfigs_Release( &ds );
int error;
int n = oyConfigs_Count( taxi_devices ),
i;
char * id = calloc( sizeof(char), 1024 );
for(i = 0; i < n; ++i)
{
int32_t rank = 0;
oyConfig_s * taxi_device = oyConfigs_Get( taxi_devices, i );
error = oyConfig_Compare( device, taxi_device, &rank );
if(i == 0)
{
snprintf( id, 1024, "%s/0", oyOptions_FindString(
*oyConfig_GetOptions(taxi_device,"db"),
"TAXI_id", 0 ));
error = oyOptions_SetFromText( &options,
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( "User Path can not be written\n" );
else if(error == oyCORRUPTED)
else if(error > 0)
printf( "%s - %d","Internal Error", error );
else
{
uint32_t icc_profile_flags = 0;
const char * filename = oyProfile_GetFileName( ip, -1 );
printf( "installed -> %s\n", filename );
error = oyOptions_SetFromInt( &options,
error = oyOptions_SetFromText( &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:"" );
}
}
oyConfigs_Release( &taxi_devices );
return 0;
}
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
int oyDeviceUnset(oyConfig_s *device)
unset the device profile
Definition oyranos_devices.c:543
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
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
OYAPI int OYEXPORT oyDeviceSetup(oyConfig_s *device, oyOptions_s *options)
activate the device using the stored configuration
Definition oyranos_devices.c:323
int oyDeviceSetProfile(oyConfig_s *device, oySCOPE_e scope, const char *profile_name)
set the device profile
Definition oyranos_devices.c:980
#define OY_CREATE_NEW
Definition oyOptions_s.h:52
oySCOPE_e
Select Scope for Installation or Configurations.
Definition oyranos.h:47
@ oySCOPE_USER
Definition oyranos.h:49
@ oyNAME_DESCRIPTION
Definition oyranos_core.h:75
#define OY_TYPE_STD
Definition oyranos_definitions.h:118
#define OY_CMM_STD
Definition oyranos_definitions.h:131
#define OY_SLASH_C
Definition oyranos_definitions.h:108
@ oyERROR_DATA_AMBIGUITY
Definition oyranos_object.h:344
@ oyERROR_DATA_WRITE
Definition oyranos_object.h:343
A group of options for a device.
Definition oyConfig_s.h:66
A Configs list.
Definition oyConfigs_s.h:69
generic Options
Definition oyOptions_s.h:80
A profile and its attributes.
Definition oyProfile_s.h:95