Oyranos Color Management System API - Version 0.9.6
oyFilterCore_s Struct Reference

A basic filter to manipulate data. More...

#include <oyFilterCore_s.h>

Inheritance diagram for oyFilterCore_s:
Inheritance graph
Collaboration diagram for oyFilterCore_s:
Collaboration graph

Public Member Functions

OYAPI oyFilterCore_s *OYEXPORT oyFilterCore_New (oyObject_s object)
 allocate a new FilterCore object
 oyFilterCore_Copy
 Copy or Reference a FilterCore object.
OYAPI int OYEXPORT oyFilterCore_Release (oyFilterCore_s **filtercore)
 release and possibly deallocate a oyFilterCore_s object
const char * oyFilterCore_GetCategory (oyFilterCore_s *filter, int nontranslated)
 Get category string.
const char * oyFilterCore_GetName (oyFilterCore_s *filter, oyNAME_e name_type)
 Get name.
const char * oyFilterCore_GetText (oyFilterCore_s *filter, oyNAME_e name_type)
 Get text.
oyFilterCore_soyFilterCore_NewWith (const char *registration, oyOptions_s *options, oyObject_s object)
 Lookup and initialise a new filter object.
OYAPI const char *OYEXPORT oyFilterCore_GetRegistration (oyFilterCore_s *filter)
 Get registration text.
OYAPI int OYEXPORT oyFilterCore_SetBackendContext (oyFilterCore_s *obj, oyPointer_s *ptr)
 set backend specific runtime data
OYAPI oyPointer_s *OYEXPORT oyFilterCore_GetBackendContext (oyFilterCore_s *obj)
 get backend specific runtime data
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
const char * oyStruct_GetText (oyStruct_s *obj, oyNAME_e name_type, uint32_t flags)
 Get a text dump.
 oyStruct_RegisterStaticMessageFunc
 register a function for verbosity
 oyStruct_GetInfo
 get a additional string from a object
const char * oyStructTypeToText (oyOBJECT_e type)
 Objects type to small string.

Data Fields

const oyOBJECT_e type_
 Type of object.
oyStruct_Copy_f copy
 Copy function.
oyStruct_Release_f release
 Release function.
oyObject_s oy_
 Oyranos internal object.
Data Fields inherited from oyStruct_s
const oyOBJECT_e type_
 Type of object.
oyStruct_Copy_f copy
 Copy function.
oyStruct_Release_f release
 Release function.
oyObject_s oy_
 Oyranos internal object.

Detailed Description

A basic filter to manipulate data.

This is the Oyranos filter object. Filters are categorised into basic classes of filters described in the Registration (//xxx) member. Filters implement a container for data and options. Filters can be manipulated by changing their options or data set.

Filters are chained into a oyConversion_s in order to get applied to data. The relation of filters in a graph is defined through the oyFilterNode_s struct.

It is possible to chain filters in different ways together. The aimed way here is to use members and queries to find possible connections. For instance a one in one out filter can not be connected to two sources at once.

The Registration describes different basic types of filters (//xxx).

Version
Oyranos: 0.1.10
Since
2008/06/08 (Oyranos: 0.1.8)
Date
2009/11/17
Examples
oyranos_cmm_oJPG.c.

Member Function Documentation

◆ oyFilterCore_Copy()

oyFilterCore_Copy

Copy or Reference a FilterCore object.

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

Parameters
[in]filtercoreFilterCore struct object
objectNULL - means reference, the optional object triggers a real copy

References oyFilterCore_Copy(), and oyOBJECT_FILTER_CORE_S.

Referenced by oyFilterCore_Copy().

◆ oyFilterCore_GetBackendContext()

OYAPI oyPointer_s *OYEXPORT oyFilterCore_GetBackendContext ( oyFilterCore_s * obj)

get backend specific runtime data

Backend context is used by a filter type during execution.

Parameters
[in]objthe node object
Returns
the context needed to run the filter type
Version
Oyranos: 0.9.5
Date
2014/01/08
Since
2014/01/08(Oyranos: 0.9.5)

References oyOBJECT_FILTER_CORE_S.

◆ oyFilterCore_GetCategory()

const char * oyFilterCore_GetCategory ( oyFilterCore_s * filter,
int nontranslated )

Get category string.

Function oyFilterCore_GetCategory

Parameters
[in,out]filterfilter object
nontranslatedswitch for translation
Version
Oyranos: 0.1.10
Since
2008/06/26 (Oyranos: 0.1.8)
Date
2009/02/28

◆ oyFilterCore_GetName()

const char * oyFilterCore_GetName ( oyFilterCore_s * filter,
oyNAME_e name_type )

Get name.

Function oyFilterCore_GetName

provides the original filter names

Parameters
[in,out]filterfilter object
name_typetype of name
Version
Oyranos: 0.1.10
Since
2008/06/26 (Oyranos: 0.1.8)
Date
2009/02/28

◆ oyFilterCore_GetRegistration()

OYAPI const char *OYEXPORT oyFilterCore_GetRegistration ( oyFilterCore_s * filter)

Get registration text.

Function oyFilterCore_GetRegistration

Parameters
[in]filterfilter object
Returns
Registration string
Version
Oyranos: 0.5.0
Date
2012/10/04
Since
2012/10/04 (Oyranos: 0.5.0)

◆ oyFilterCore_GetText()

const char * oyFilterCore_GetText ( oyFilterCore_s * filter,
oyNAME_e name_type )

Get text.

Function oyFilterCore_GetText

oyNAME_NAME provides a XML element with child elements and attributes

Parameters
[in,out]filterfilter object
name_typetype of name
Version
Oyranos: 0.1.10
Since
2008/07/18 (Oyranos: 0.1.8)
Date
2009/02/28

References oyNAME_NAME, oyObject_GetName(), and oyObject_SetName().

◆ oyFilterCore_New()

OYAPI oyFilterCore_s *OYEXPORT oyFilterCore_New ( oyObject_s object)

allocate a new FilterCore object

Function oyFilterCore_New

References oyOBJECT_OBJECT_S.

◆ oyFilterCore_NewWith()

oyFilterCore_s * oyFilterCore_NewWith ( const char * registration,
oyOptions_s * options,
oyObject_s object )

Lookup and initialise a new filter object.

Function oyFilterCore_NewWith

back end selection:

  • the user knows, which kind of filter is requested -> registration, e.g. "//color"
  • the user probably knows, which special CMM to use (e.g. lcms, icc, shiva)
Parameters
[in]registrationthe filter Registration pattern
[in]Options APIthe supplied filter options
[in]objectthe optional object
Returns
a filter core
Version
Oyranos: 0.1.10
Since
2008/06/24 (Oyranos: 0.1.8)
Date
2009/07/27

References oyFilterCore_Release(), and oyOBJECT_CMM_API4_S.

◆ oyFilterCore_Release()

OYAPI int OYEXPORT oyFilterCore_Release ( oyFilterCore_s ** filtercore)

release and possibly deallocate a oyFilterCore_s object

Function oyFilterCore_Release

Parameters
[in,out]filtercoreFilterCore struct object

References oyOBJECT_FILTER_CORE_S.

Referenced by oyFilterCore_NewWith().

◆ oyFilterCore_SetBackendContext()

OYAPI int OYEXPORT oyFilterCore_SetBackendContext ( oyFilterCore_s * obj,
oyPointer_s * ptr )

set backend specific runtime data

Runtime data can be used as context by a backend during execution. The data is typical set during oyCMMapi4_s creation. This function provides access for a backend inside a DAC in order to change that data during backend lifetime.

Parameters
[in,out]objthe node object
[in]ptrthe data needed to run the filter type
Returns
error
Version
Oyranos: 0.9.5
Date
2014/01/08
Since
2014/01/08(Oyranos: 0.9.5)

References oyOBJECT_FILTER_CORE_S.

Field Documentation

◆ copy

oyStruct_Copy_f oyFilterCore_s::copy

Copy function.

◆ oy_

oyObject_s oyFilterCore_s::oy_

Oyranos internal object.

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

◆ release

oyStruct_Release_f oyFilterCore_s::release

Release function.

◆ type_

const oyOBJECT_e oyFilterCore_s::type_

Type of object.

The struct type tells Oyranos how to interprete hidden fields.