Oyranos Color Management System API
Macros | Typedefs | Enumerations | Functions
oyranos_object.h File Reference
#include <oyranos_core.h>

Macros

#define OY_SELECT_FILTER   2048
 select from filter More...
 
#define OY_SELECT_COMMON   4096
 select from policySelect typical from a associatable oyCMMapi9_s type of filter for providing common options. More...
 

Typedefs

typedef int(* oyPointer_release_f) (oyPointer *)
 oyPointer_s release function type More...
 
typedef void(* oyLockRelease_f) (oyPointer lock, const char *marker, int line)
 Lock release function type. More...
 
typedef void(* oyLock_f) (oyPointer lock, const char *marker, int line)
 Lock function type. More...
 
typedef void(* oyUnLock_f) (oyPointer look, const char *marker, int line)
 Unlock function type. More...
 

Enumerations

enum  oyOBJECT_e { ,
  oyOBJECT_OBJECT_S, oyOBJECT_MONITOR_S, oyOBJECT_NAMED_COLOR_S, oyOBJECT_NAMED_COLORS_S,
  oyOBJECT_PROFILE_S, oyOBJECT_PROFILE_TAG_S, oyOBJECT_PROFILES_S, oyOBJECT_OPTION_S,
  oyOBJECT_OPTIONS_S, oyOBJECT_RECTANGLE_S, oyOBJECT_IMAGE_S, oyOBJECT_ARRAY2D_S,
  oyOBJECT_CONNECTOR_S = 20, oyOBJECT_CONNECTOR_IMAGING_S, oyOBJECT_CONNECTOR_MAX_S, oyOBJECT_FILTER_PLUG_S = 30,
  oyOBJECT_FILTER_PLUGS_S, oyOBJECT_FILTER_SOCKET_S, oyOBJECT_FILTER_CORE_S, oyOBJECT_FILTER_CORES_S,
  oyOBJECT_FILTER_NODE_S, oyOBJECT_FILTER_NODES_S, oyOBJECT_FILTER_GRAPH_S, oyOBJECT_PIXEL_ACCESS_S,
  oyOBJECT_CONVERSION_S, oyOBJECT_CMM_HANDLE_S = 50, oyOBJECT_POINTER_S, oyOBJECT_CMM_INFO_S,
  oyOBJECT_CMM_API_S, oyOBJECT_CMM_APIS_S, oyOBJECT_CMM_API_FILTER_S, oyOBJECT_CMM_API1_S,
  oyOBJECT_CMM_API2_S, oyOBJECT_CMM_API3_S, oyOBJECT_CMM_API4_S, oyOBJECT_CMM_API5_S,
  oyOBJECT_CMM_API6_S, oyOBJECT_CMM_API7_S, oyOBJECT_CMM_DATA_TYPES_S, oyOBJECT_CMM_API8_S,
  oyOBJECT_CMM_API9_S, oyOBJECT_CMM_API10_S, oyOBJECT_CMM_UI_S, oyOBJECT_CMM_OBJECT_TYPE_S,
  oyOBJECT_CMM_API_FILTERS_S, oyOBJECT_CMM_API_MAX, oyOBJECT_ICON_S = 80, oyOBJECT_MODULE_S,
  oyOBJECT_EXTERNFUNC_S, oyOBJECT_NAME_S, oyOBJECT_COMP_S_, oyOBJECT_FILE_LIST_S_,
  oyOBJECT_HASH_S, oyOBJECT_STRUCT_LIST_S, oyOBJECT_BLOB_S, oyOBJECT_CONFIG_S,
  oyOBJECT_CONFIGS_S, oyOBJECT_UI_HANDLER_S, oyOBJECT_FORMS_ARGS_S, oyOBJECT_CALLBACK_S,
  oyOBJECT_OBSERVER_S, oyOBJECT_CONF_DOMAIN_S, oyOBJECT_INFO_STATIC_S, oyOBJECT_LIST_S,
  oyOBJECT_LIS_S
}
 Oyranos structure type. More...
 
enum  oyNAME_e { oyNAME_NAME, oyNAME_NICK, oyNAME_DESCRIPTION }
 describe the base types of a oyObject_s name More...
 
enum  oyOPTIONATTRIBUTE_e {
  oyOPTIONATTRIBUTE_BASIC = 0, oyOPTIONATTRIBUTE_EDIT = 32, oyOPTIONATTRIBUTE_AUTOMATIC = 64, oyOPTIONATTRIBUTE_ADVANCED = 128,
  oyOPTIONATTRIBUTE_FRONT = 256, oyOPTIONATTRIBUTE_DOUBLE = 512
}
 usage typeThe types of Oyranos default settings to include into the options set. So proofing makes no sense for toolkit widgets, but for advanced graphics displaying. All other Oyranos behaviour settings should be taken over untouched. More...
 
enum  oyBOOLEAN_e { oyBOOLEAN_INTERSECTION, oyBOOLEAN_SUBSTRACTION, oyBOOLEAN_DIFFERENZ, oyBOOLEAN_UNION }
 boolean operations More...
 
enum  oyFILTER_REG_e { ,
  oyFILTER_REG_TOP = 0x01, oyFILTER_REG_DOMAIN = 0x02, oyFILTER_REG_TYPE = 0x04, oyFILTER_REG_APPLICATION = 0x08,
  oyFILTER_REG_OPTION = 0x10
}
 
enum  oySTATUS_e
 File status type. More...
 
enum  oyERROR_e { oyERROR_USER = 10, oyERROR_DATA_READ, oyERROR_DATA_WRITE, oyERROR_DATA_AMBIGUITY }
 

Functions

const char * oyStructTypeToText (oyOBJECT_e type)
 Objects type to small string. More...
 
char * oyFilterRegistrationToText (const char *registration, oyFILTER_REG_e type, oyAlloc_f allocateFunc)
 analyse registration string More...
 
int oyFilterRegistrationMatch (const char *registration, const char *pattern, oyOBJECT_e api_number)
 analyse registration string and compare with a given pattern More...
 
int oyFilterRegistrationMatchKey (const char *registration1, const char *registration2, oyOBJECT_e api_number)
 compare two registration strings, skip key attributes More...
 

Detailed Description

[Template file inheritance graph] +– oyranos_object.template.h

Oyranos is an open source Color Management System

Copyright:
2004-2014 (C) Kai-Uwe Behrmann
Author
Kai-Uwe Behrmann ku.b@.nosp@m.gmx..nosp@m.de
License:
new BSD - see: http://www.opensource.org/licenses/bsd-license.php
Date
2014/03/06

Typedef Documentation

◆ oyLock_f

typedef void(* oyLock_f) (oyPointer lock, const char *marker, int line)

Lock function type.

Version
Oyranos: 0.3.0
Date
2011/02/15
Since
2011/02/15 (Oyranos: 0.3.0)

◆ oyLockRelease_f

typedef void(* oyLockRelease_f) (oyPointer lock, const char *marker, int line)

Lock release function type.

Version
Oyranos: 0.3.0
Date
2011/02/15
Since
2011/02/15 (Oyranos: 0.3.0)

◆ oyPointer_release_f

typedef int(* oyPointer_release_f) (oyPointer *)

oyPointer_s release function type

Version
Oyranos: 0.3.0
Date
2011/02/15
Since
2011/02/15 (Oyranos: 0.3.0)

◆ oyUnLock_f

typedef void(* oyUnLock_f) (oyPointer look, const char *marker, int line)

Unlock function type.

Version
Oyranos: 0.3.0
Date
2011/02/15
Since
2011/02/15 (Oyranos: 0.3.0)

Enumeration Type Documentation

◆ oyBOOLEAN_e

boolean operations

Version
Oyranos: 0.1.8
Since
2008/06/28 (Oyranos: 0.1.8)
Date
2008/06/28
Enumerator
oyBOOLEAN_INTERSECTION 

and, the part covered by A and B

oyBOOLEAN_SUBSTRACTION 

minus, the part covered by A but not by B

oyBOOLEAN_DIFFERENZ 

xor, exclusive parts of A and B

oyBOOLEAN_UNION 

or, the parts covered by A or B or both

◆ oyERROR_e

enum oyERROR_e
Enumerator
oyERROR_USER 

wrong or missing argument

oyERROR_DATA_READ 

input error

oyERROR_DATA_WRITE 

output error

oyERROR_DATA_AMBIGUITY 

uniqueness of data is conflicted

Function Documentation

◆ oyFilterRegistrationMatch()

int oyFilterRegistrationMatch ( const char *  registration,
const char *  pattern,
oyOBJECT_e  api_number 
)

analyse registration string and compare with a given pattern

Function oyFilterRegistrationMatch The rules are described in the module_api overview. The function is intensively used.

Parameters
registrationregistration string to analise
patternpattern or key name to compare with
api_numberselect object type
Returns
match, useable for ranking
Version
Oyranos: 0.1.10
Since
2008/06/26 (Oyranos: 0.1.8)
Date
2009/07/16

Referenced by oyFilterGraph_s::oyFilterGraph_CountNodes(), oyFilterGraph_s::oyFilterGraph_GetNode(), oyFilterNode_s::oyFilterNode_ConnectorMatch(), oyFilterNode_s::oyFilterNode_GetConnectorPos(), oyFilterRegistrationMatchKey(), oyOptions_s::oyOptions_CopyFrom(), oyOptions_s::oyOptions_CountType(), oyOptions_s::oyOptions_Filter(), oyOptions_s::oyOptions_Find(), oyOptions_s::oyOptions_GetType(), and oyOptions_s::oyOptions_SetDriverContext().

◆ oyFilterRegistrationMatchKey()

int oyFilterRegistrationMatchKey ( const char *  registration_a,
const char *  registration_b,
oyOBJECT_e  api_number 
)

compare two registration strings, skip key attributes

Function oyFilterRegistrationMatchKey The rules are described in the module_api overview. The rules in this function map especially to key storage rules for Oyranos DB.

The non key part is handled as namespace and should match in order to consider the two keys from the same namespace. The second condition is the key name is stripped from all attributes. This means the string part after the last slash '/' is taken into account only until the first point '.' or end of string appears.

Parameters
registration_aregistration key
registration_bregistration key
api_numberselect object type
Returns
match, useable for ranking
Version
Oyranos: 0.1.10
Since
2010/06/03 (Oyranos: 0.1.10)
Date
2010/06/03

References oyFILTER_REG_OPTION, oyFilterRegistrationMatch(), and oyFilterRegistrationToText().

Referenced by oyOptions_s::oyOptions_Set().

◆ oyFilterRegistrationToText()

char* oyFilterRegistrationToText ( const char *  registration,
oyFILTER_REG_e  fields,
oyAlloc_f  allocateFunc 
)

analyse registration string

Function oyFilterRegistrationToText

Parameters
registrationregistration string to analyse
[in]fieldskind of answere in return
[in]allocateFuncuse this or Oyranos standard allocator
Version
Oyranos: 0.1.10
Since
2008/06/26 (Oyranos: 0.1.8)
Date
2009/05/27

For several oyFILTER_REG bits we compose a new registration string.

References oyFILTER_REG_APPLICATION, oyFILTER_REG_DOMAIN, oyFILTER_REG_OPTION, oyFILTER_REG_TOP, and oyFILTER_REG_TYPE.

Referenced by oyConfig_s::oyConfig_Compare(), oyConversion_s::oyConversion_Correct(), oyFilterNode_s::oyFilterNode_ConnectorMatch(), oyFilterNode_s::oyFilterNode_GetUi(), oyFilterRegistrationMatchKey(), oyOptions_s::oyOptions_Add(), oyOptions_s::oyOptions_CopyFrom(), oyOptions_s::oyOptions_DoFilter(), oyOptions_s::oyOptions_ForFilter_(), oyOptions_s::oyOptions_FromBoolean(), oyOptions_s::oyOptions_SaveToDB(), and oyProfile_s::oyProfile_AddDevice().

◆ oyStructTypeToText()

const char* oyStructTypeToText ( oyOBJECT_e  type)

Objects type to small string.

Function oyStructTypeToText Give a basic description of inbuild object types.

Version
Oyranos: 0.5.0
Since
2008/06/24 (Oyranos: 0.1.8)
Date
2012/09/05

Referenced by oyFilterPlug_s::oyFilterPlug_ConnectIntoSocket().