oyStructList_s Struct Reference
Description: C source code API documentation for the Oyranos project.
Keywords: Oyranos,Color Management,Color Management,ICC,CMS,C,doxygen,API,documentation

| Oyranos Color Management System API - Version 0.9.6

Public Member Functions | Data Fields
oyStructList_s Struct Reference
Miscellaneous » Generic Objects

a pointer list More...

`#include <oyStructList_s.h>`

Inheritance diagram for oyStructList_s:
Collaboration diagram for oyStructList_s:

## Public Member Functions
OYAPI oyStructList_s *OYEXPORT | oyStructList_New (oyObject_s object)
| allocate a new StructList object More...
| oyStructList_Copy
| Copy or Reference a StructList object. More...
OYAPI int OYEXPORT | oyStructList_Release (oyStructList_s **structlist)
| release and possibly deallocate a oyStructList_s object More...
int | oyStructList_MoveIn (oyStructList_s *list, oyStruct_s **ptr, int pos, uint32_t flags)
| oyStructList_s pointer add More...
oyStruct_s * | oyStructList_GetRef (oyStructList_s *list, int pos)
| oyStructList_s referenced pointer access More...
oyStruct_s * | oyStructList_GetRefType (oyStructList_s *list, int pos, oyOBJECT_e type)
| oyStructList_s pointer access More...
int | oyStructList_ReleaseAt (oyStructList_s *list, int pos)
| oyStructList_s pointer release More...
int | oyStructList_Count (oyStructList_s *list)
| oyStructList_s count More...
const char * | oyStructList_GetText (oyStructList_s *list, oyNAME_e name_type, int intent_spaces, uint32_t flags)
| Build and obtain the lists member names. More...
const char * | oyStructList_GetID (oyStructList_s *list, int intent_spaces, uint32_t flags)
| Eventually build and obtain the lists member names. More...
int | oyStructList_Clear (oyStructList_s *list)
| Release all listed objects. More...
int | oyStructList_CopyFrom (oyStructList_s *list, oyStructList_s *from, oyObject_s object)
| Clean "list" and copy all listed objects from "from" to "list". More...
int | oyStructList_MoveTo (oyStructList_s *s, int pos, int new_pos)
| Move a list element to a new position. More...
int | oyStructList_Sort (oyStructList_s *list, int32_t *rank_list)
| Sort a list according to a rank_list. More...
int | oyStructList_ObserverAdd (oyStructList_s *list, oyStruct_s *observer, oyStruct_s *user_data, oyObserver_Signal_f signalFunc)
| Add a observer to the each list member. More...
oyStruct_s * | oyStructList_GetType (oyStructList_s *list, int pos, oyOBJECT_e type)
| oyStructList_s pointer access More...
oyOBJECT_e | oyStructList_GetParentObjType (oyStructList_s *list)
oyStructList_s * | oyStructList_Create (oyOBJECT_e parent_type, const char *list_name, oyObject_s object)
| Create a new oyStruct_s list. More...
int | oyStructList_MoveInName (oyStructList_s *texts, char **text, int pos)
| Add a name to a list. More...
int | oyStructList_AddName (oyStructList_s *texts, const char *text, int pos)
| Add a name to a list. More...
const char * | oyStructList_GetName (oyStructList_s *texts, int pos)
| Add a name to a list. More...
oyHash_s * | oyStructList_GetHash (oyStructList_s *cache_list, uint32_t flags, const char *hash_text)
| Get a hash from a cache. More...
oyStruct_s * | oyStructList_GetHashStruct (oyStructList_s *cache_list, uint32_t flags, const char *hash_text, oyOBJECT_e type)
| Get a hash from a cache. 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...
| oyStruct_RegisterStaticMessageFunc
| register a function for verbosity More...
| oyStruct_GetInfo
| get a additional string from a object More...
const char * | oyStructTypeToText (oyOBJECT_e type)
| Objects type to small string. 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...

## Detailed Description

a pointer list

## Member Function Documentation

## ◆ oyStructList_AddName()

int oyStructList_AddName | ( | oyStructList_s * | texts,
|  | const char * | text,
|  | int | pos
| ) |  |

Add a name to a list.

Function oyStructList_AddName

The text is added to a oyName_s::name member variable.

Version
  Oyranos: 0.1.13

Date
  2008/10/07

Since
  2008/10/07 (Oyranos: 0.1.13)

References oyStructList_MoveIn().

## ◆ oyStructList_Clear()

int oyStructList_Clear | ( | oyStructList_s * | list | ) |

Release all listed objects.

Function oyStructList_Clear

Version
  Oyranos: 0.1.9

Date
  2008/11/27

Since
  2008/11/27 (Oyranos: 0.1.9)

References oyOBJECT_STRUCT_LIST_S, and oyStructList_ReleaseAt().

Referenced by oyCMMapiFilters_s::oyCMMapiFilters_Clear(), oyCMMapis_s::oyCMMapis_Clear(), oyConfigs_s::oyConfigs_Clear(), oyFilterNodes_s::oyFilterNodes_Clear(), oyFilterPlugs_s::oyFilterPlugs_Clear(), oyNamedColors_s::oyNamedColors_Clear(), oyOptions_s::oyOptions_Clear(), oyProfiles_s::oyProfiles_Clear(), and oyStructList_CopyFrom().

## ◆ oyStructList_Copy()

oyStructList_Copy

Copy or Reference a StructList object.

The function is for copying and for referencing. The reference is the most often used way, which saves resourcs and time.

Parameters

  [in] | structlist | StructList struct object
  | object | NULL - means reference, the optional object triggers a real copy

## ◆ oyStructList_CopyFrom()

int oyStructList_CopyFrom | ( | oyStructList_s * | list,
|  | oyStructList_s * | from,
|  | oyObject_s | object
| ) |  |

Clean "list" and copy all listed objects from "from" to "list".

Function oyStructList_CopyFrom

If the list was observed, the new elements are observed by the list through the standard signal forwarding function (oyStructSignalForward_).

Version
  Oyranos: 0.1.10

Since
  2008/11/27 (Oyranos: 0.1.9)

Date
  2009/10/28

References oyStruct_s::copy, oyOBJECT_STRUCT_LIST_S, oyStructList_Clear(), and type_.

## ◆ oyStructList_Count()

int oyStructList_Count | ( | oyStructList_s * | list | ) |

oyStructList_s count

Function oyStructList_Count

Since
  Oyranos: version 0.1.8

Date
  21 november 2007 (API 0.1.8)

References oyOBJECT_STRUCT_LIST_S.

Referenced by oyCMMapiFilters_s::oyCMMapiFilters_Count(), oyCMMapis_s::oyCMMapis_Count(), oyConfigs_s::oyConfigs_Count(), oyFilterNodes_s::oyFilterNodes_Count(), oyFilterPlugs_s::oyFilterPlugs_Count(), oyNamedColors_s::oyNamedColors_Count(), oyOptions_s::oyOptions_Count(), oyProfile_s::oyProfile_GetTagCount(), oyProfiles_s::oyProfiles_Count(), oyObserver_s::oyStruct_IsObserved(), oyStructList_MoveTo(), and oyStructList_ObserverAdd().

## ◆ oyStructList_Create()

oyStructList_s * oyStructList_Create | ( | oyOBJECT_e | parent_type,
|  | const char * | list_name,
|  | oyObject_s | object
| ) |  |

Create a new oyStruct_s list.

Function oyStructList_Create

Parameters

  parent_type | type of parent object
  list_name | optional list name
  object | the optional object

Returns
  a empty list

Version
  Oyranos: 0.1.8

Since
  2008/11/02 (Oyranos: 0.1.8)

Date
  2008/11/02

References oyObject_SetNames(), and oyStructList_New().

Referenced by oyCMMapis_s::oyCMMapis_MoveIn(), oyConfigs_s::oyConfigs_MoveIn(), oyFilterNodes_s::oyFilterNodes_MoveIn(), oyFilterPlugs_s::oyFilterPlugs_MoveIn(), oyNamedColors_s::oyNamedColors_MoveIn(), oyOptions_s::oyOptions_CopyFrom(), oyOptions_s::oyOptions_MoveIn(), and oyProfiles_s::oyProfiles_MoveIn().

## ◆ oyStructList_GetHash()

oyHash_s * oyStructList_GetHash | ( | oyStructList_s * | cache_list,
|  | uint32_t | flags,
|  | const char * | hash_text
| ) |  |

Get a hash from a cache.

Function oyStructList_GetHash

Get always a Oyranos cache entry from a cache list.

Parameters

  [in] | cache_list | the list to search in
  [in] | flags | - 0 - assume text, length is strlen() 1 - assume 16 byte hash instead of text
  [in] | hash_text | the text to search for in the cache_list

Returns
  the cache entry may not have a entry

Version
  Oyranos: 0.9.0

Date
  2012/10/17

Since
  2012/10/17 (Oyranos: 0.9.0)

## ◆ oyStructList_GetHashStruct()

oyStruct_s * oyStructList_GetHashStruct | ( | oyStructList_s * | cache_list,
|  | uint32_t | flags,
|  | const char * | hash_text,
|  | oyOBJECT_e | type
| ) |  |

Get a hash from a cache.

Function oyStructList_GetHashStruct

Get always a Oyranos cache entry from a cache list.

Parameters

  [in] | cache_list | the list to search in
  [in] | flags | - 0 - assume text, length is strlen() 1 - assume 16 byte hash instead of text
  [in] | hash_text | the text to search for in the cache_list
  [in] | type | thre requested object type

Returns
  the cache entry may not have a entry

Version
  Oyranos: 0.9.0

Date
  2012/10/17

Since
  2012/10/17 (Oyranos: 0.9.0)

## ◆ oyStructList_GetID()

const char * oyStructList_GetID | ( | oyStructList_s * | list,
|  | int | intent_spaces,
|  | uint32_t | flags
| ) |  |

Eventually build and obtain the lists member names.

Function oyStructList_GetID

Version
  Oyranos: 0.1.8

Date
  2008/11/04

Since
  2008/11/04 (Oyranos: 0.1.8)

Referenced by oyContextCollectData_().

## ◆ oyStructList_GetName()

const char * oyStructList_GetName | ( | oyStructList_s * | texts,
|  | int | pos
| ) |  |

Add a name to a list.

Function oyStructList_GetName

The text is added a a oyName_s::name member variable.

Version
  Oyranos: 0.3.1

Date
  2011/05/18

Since
  2011/05/18 (Oyranos: 0.3.1)

References oyNAME_NAME, oyOBJECT_NAME_S, and oyStructList_GetRefType().

## ◆ oyStructList_GetParentObjType()

oyOBJECT_e oyStructList_GetParentObjType | ( | oyStructList_s * | list | ) |

Function oyStructList_GetParentObjType

References oyOBJECT_STRUCT_LIST_S.

Referenced by oyCMMapiFilters_s::oyCMMapiFilters_ReleaseAt(), oyCMMapis_s::oyCMMapis_ReleaseAt(), oyConfigs_s::oyConfigs_ReleaseAt(), oyFilterNodes_s::oyFilterNodes_ReleaseAt(), oyFilterPlugs_s::oyFilterPlugs_ReleaseAt(), oyNamedColors_s::oyNamedColors_ReleaseAt(), oyOptions_s::oyOptions_ReleaseAt(), and oyProfiles_s::oyProfiles_ReleaseAt().

## ◆ oyStructList_GetRef()

oyStruct_s * oyStructList_GetRef | ( | oyStructList_s * | list,
|  | int | pos
| ) |  |

oyStructList_s referenced pointer access

Function oyStructList_GetRef

Since
  Oyranos: version 0.1.8

Date
  4 december 2007 (API 0.1.8)

References oyObject_Lock(), and oyObject_UnLock().

Referenced by oyCMMapiFilters_s::oyCMMapiFilters_Get(), oyCMMapis_s::oyCMMapis_Get(), oyStructList_GetRefType(), and oyStructList_MoveTo().

## ◆ oyStructList_GetRefType()

oyStruct_s * oyStructList_GetRefType | ( | oyStructList_s * | list,
|  | int | pos,
|  | oyOBJECT_e | type
| ) |  |

oyStructList_s pointer access

Function oyStructList_GetRefType

Since
  Oyranos: version 0.1.8

Date
  1 january 2008 (API 0.1.8)

References oyStruct_s::oy_, oyStructList_GetRef(), oyStruct_s::release, and oyStruct_s::type_.

Referenced by oyConfigs_s::oyConfigs_Get(), oyFilterNodes_s::oyFilterNodes_Get(), oyFilterPlugs_s::oyFilterPlugs_Get(), oyNamedColors_s::oyNamedColors_Get(), oyNamedColors_s::oyNamedColors_GetColorName(), oyOptions_s::oyOptions_Get(), oyProfiles_s::oyProfiles_Get(), and oyStructList_GetName().

## ◆ oyStructList_GetText()

const char * oyStructList_GetText | ( | oyStructList_s * | list,
|  | oyNAME_e | name_type,
|  | int | intent_spaces,
|  | uint32_t | flags
| ) |  |

Build and obtain the lists member names.

Function oyStructList_GetText

Version
  Oyranos: 0.1.8

Date
  2008/11/04

Since
  2008/11/04 (Oyranos: 0.1.8)

## ◆ oyStructList_GetType()

oyStruct_s * oyStructList_GetType | ( | oyStructList_s * | list,
|  | int | pos,
|  | oyOBJECT_e | type
| ) |  |

oyStructList_s pointer access

Function oyStructList_GetType

non thread save; better dont use

Since
  Oyranos: version 0.1.8

Date
  1 january 2008 (API 0.1.8)

References oyStruct_s::type_.

## ◆ oyStructList_MoveIn()

int oyStructList_MoveIn | ( | oyStructList_s * | list,
|  | oyStruct_s ** | ptr,
|  | int | pos,
|  | uint32_t | flags
| ) |  |

oyStructList_s pointer add

Function oyStructList_MoveIn

If the list was observed, the new elements are not automatically observed. The caller can select OY_OBSERVE_AS_WELL in the flags argument if he wishes to observe a newly added element as well. The attached observation function will be oyStructSignalForward_.

Parameters

  [in] | list | the list
  [in] | ptr | the handle this function takes ownership of
  [in] | pos | the prefered position in the list. This option has affect of the order in list.
  [in] | flags | OY_OBSERVE_AS_WELL

Version
  Oyranos: 0.1.10

Since
  2007/11/30 (Oyranos: 0.1.8)

Date
  2009/10/28

Referenced by oyCMMapis_s::oyCMMapis_MoveIn(), oyConfigs_s::oyConfigs_MoveIn(), oyFilterNodes_s::oyFilterNodes_MoveIn(), oyFilterPlugs_s::oyFilterPlugs_MoveIn(), oyNamedColors_s::oyNamedColors_MoveIn(), oyOptions_s::oyOptions_MoveIn(), oyProfile_s::oyProfile_TagMoveIn(), oyProfiles_s::oyProfiles_MoveIn(), oyProfileTag_s::oyProfileTag_CreateFromText(), oyStructList_AddName(), oyStructList_MoveInName(), and oyStructList_MoveTo().

## ◆ oyStructList_MoveInName()

int oyStructList_MoveInName | ( | oyStructList_s * | texts,
|  | char ** | text,
|  | int | pos
| ) |  |

Add a name to a list.

Function oyStructList_MoveInName

The text is added to a oyName_s::name member variable and owned by the list.

Version
  Oyranos: 0.1.13

Date
  2008/10/07

Since
  2008/10/07 (Oyranos: 0.1.13)

References oyStructList_MoveIn().

## ◆ oyStructList_MoveTo()

int oyStructList_MoveTo | ( | oyStructList_s * | s,
|  | int | pos,
|  | int | new_pos
| ) |  |

Move a list element to a new position.

Function oyStructList_MoveTo

real used?

Version
  Oyranos: 0.1.10

Date
  2009/05/22

Since
  2009/05/22 (Oyranos: 0.1.10)

References oyOBJECT_STRUCT_LIST_S, oyStructList_Count(), oyStructList_GetRef(), oyStructList_MoveIn(), and oyStructList_ReleaseAt().

## ◆ oyStructList_New()

OYAPI oyStructList_s *OYEXPORT oyStructList_New | ( | oyObject_s | object | ) |

allocate a new StructList object

Function oyStructList_New

References oyOBJECT_OBJECT_S.

Referenced by oyProfileTag_s::oyProfileTag_CreateFromText(), and oyStructList_Create().

## ◆ oyStructList_ObserverAdd()

int oyStructList_ObserverAdd | ( | oyStructList_s * | list,
|  | oyStruct_s * | observer,
|  | oyStruct_s * | user_data,
|  | oyObserver_Signal_f | signalFunc
| ) |  |

Add a observer to the each list member.

Function oyStructList_ObserverAdd

Members are further observed by the list object.

Version
  Oyranos: 0.1.10

Date
  2009/10/28

Since
  2009/10/28 (Oyranos: 0.1.10)

References oyOBJECT_STRUCT_LIST_S, oyObserver_s::oyStruct_ObserverAdd(), and oyStructList_Count().

Referenced by oyOptions_s::oyOptions_ObserverAdd().

## ◆ oyStructList_Release()

OYAPI int OYEXPORT oyStructList_Release | ( | oyStructList_s ** | structlist | ) |

release and possibly deallocate a oyStructList_s object

Function oyStructList_Release

Parameters

  [in,out] | structlist | StructList struct object

References oyOBJECT_STRUCT_LIST_S.

Referenced by oyOptions_s::oyOptions_CopyFrom().

## ◆ oyStructList_ReleaseAt()

int oyStructList_ReleaseAt | ( | oyStructList_s * | list,
|  | int | pos
| ) |  |

oyStructList_s pointer release

Function oyStructList_ReleaseAt

release and shrink

Version
  Oyranos: 0.1.8

Date
  2007/11/21

Since
  2007/11/21 (Oyranos: 0.1.8)

References oyObject_Lock(), oyOBJECT_STRUCT_LIST_S, and oyObject_UnLock().

Referenced by oyCMMapiFilters_s::oyCMMapiFilters_ReleaseAt(), oyCMMapis_s::oyCMMapis_ReleaseAt(), oyConfigs_s::oyConfigs_ReleaseAt(), oyFilterNodes_s::oyFilterNodes_ReleaseAt(), oyFilterPlugs_s::oyFilterPlugs_ReleaseAt(), oyNamedColors_s::oyNamedColors_ReleaseAt(), oyOptions_s::oyOptions_ReleaseAt(), oyProfile_s::oyProfile_TagReleaseAt(), oyProfiles_s::oyProfiles_ReleaseAt(), oyStructList_Clear(), and oyStructList_MoveTo().

## ◆ oyStructList_Sort()

int oyStructList_Sort | ( | oyStructList_s * | list,
|  | int32_t * | rank_list
| ) |  |

Sort a list according to a rank_list.

Function oyStructList_Sort

Version
  Oyranos: 0.1.10

Date
  2009/05/23

Since
  2009/05/23 (Oyranos: 0.1.10)

## Field Documentation

## ◆ copy

oyStruct_Copy_f oyStructList_s::copy

Copy function.

## ◆ oy_

oyObject_s oyStructList_s::oy_

Oyranos internal object.

Features name and hash. Do not change during object life time.

## ◆ release

oyStruct_Release_f oyStructList_s::release

Release function.

## ◆ type_

const oyOBJECT_e oyStructList_s::type_

Type of object.

The struct type tells Oyranos how to interprete hidden fields.

Referenced by oyStructList_CopyFrom().