Oyranos  git-devel
Oyranos is a full featured Color Management System
Public Member Functions | Data Fields
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 More...
 
OYAPI oyFilterCore_s *OYEXPORT oyFilterCore_Copy (oyFilterCore_s *filtercore, oyObject_s object)
 Copy or Reference a FilterCore object. More...
 
OYAPI int OYEXPORT oyFilterCore_Release (oyFilterCore_s **filtercore)
 release and possibly deallocate a oyFilterCore_s object More...
 
const char * oyFilterCore_GetCategory (oyFilterCore_s *filter, int nontranslated OY_UNUSED)
 Get category string. More...
 
const char * oyFilterCore_GetName (oyFilterCore_s *filter, oyNAME_e name_type)
 Get name. More...
 
const char * oyFilterCore_GetText (oyFilterCore_s *filter, oyNAME_e name_type)
 Get text. More...
 
oyFilterCore_soyFilterCore_NewWith (const char *registration, oyOptions_s *options, oyObject_s object)
 Lookup and initialise a new filter object. More...
 
OYAPI const char *OYEXPORT oyFilterCore_GetRegistration (oyFilterCore_s *filter)
 Get registration text. More...
 
OYAPI int OYEXPORT oyFilterCore_SetBackendContext (oyFilterCore_s *obj, oyPointer_s *ptr)
 set backend specific runtime data More...
 
OYAPI oyPointer_s *OYEXPORT oyFilterCore_GetBackendContext (oyFilterCore_s *obj)
 get backend specific runtime data More...
 
void oyFilterCore_Release__Members (oyFilterCore_s_ *filtercore)
 Custom FilterCore destructor. More...
 
int oyFilterCore_Init__Members (oyFilterCore_s_ *filtercore OY_UNUSED)
 Custom FilterCore constructor. More...
 
int oyFilterCore_Copy__Members (oyFilterCore_s_ *dst, oyFilterCore_s_ *src)
 Custom FilterCore copy constructor. More...
 
int oyFilterCore_SetCMMapi4_ (oyFilterCore_s_ *s, oyCMMapi4_s_ *cmm_api4)
 Lookup and initialise a new filter object. 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...
 
int oyStruct_RegisterStaticMessageFunc (int type, oyStruct_RegisterStaticMessageFunc_f msg, oyStruct_RegisterStaticFreeFunc_f free_func)
 register a function for verbosity More...
 
const char * oyStruct_GetInfo (oyPointer context_object, oyNAME_e type, int flags)
 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 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

Member Function Documentation

◆ oyFilterCore_Copy()

OYAPI oyFilterCore_s *OYEXPORT oyFilterCore_Copy ( oyFilterCore_s filtercore,
oyObject_s  object 
)

Copy or Reference a FilterCore object.

Function oyFilterCore_Copy

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

◆ oyFilterCore_Copy__Members()

int oyFilterCore_Copy__Members ( oyFilterCore_s_ *  dst,
oyFilterCore_s_ *  src 
)

Custom FilterCore copy constructor.

Function oyFilterCore_Copy__Members

◆ 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)

◆ oyFilterCore_GetCategory()

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

Get category string.

Function oyFilterCore_GetCategory

Parameters
[in,out]filterfilter object
nontranslatedswitch for translation; not implemented
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

◆ oyFilterCore_Init__Members()

int oyFilterCore_Init__Members ( oyFilterCore_s_ *filtercore  OY_UNUSED)

Custom FilterCore constructor.

Function oyFilterCore_Init__Members

◆ oyFilterCore_New()

OYAPI oyFilterCore_s *OYEXPORT oyFilterCore_New ( oyObject_s  object)

allocate a new FilterCore object

Function oyFilterCore_New

◆ 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]optionsthe 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

Referenced by oyFilterNode_s::oyFilterNode_NewWith().

◆ 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

Referenced by oyFilterNode_s::oyFilterNode_NewWith().

◆ oyFilterCore_Release__Members()

void oyFilterCore_Release__Members ( oyFilterCore_s_ *  filtercore)

Custom FilterCore destructor.

Function oyFilterCore_Release__Members

◆ 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)

◆ oyFilterCore_SetCMMapi4_()

int oyFilterCore_SetCMMapi4_ ( oyFilterCore_s_ *  s,
oyCMMapi4_s_ *  cmm_api4 
)

Lookup and initialise a new filter object.

Function oyFilterCore_SetCMMapi4_

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.