oyFilterNode_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
oyFilterNode_s Struct Reference
Conversion

A FilterNode object. More...

`#include <oyFilterNode_s.h>`

Inheritance diagram for oyFilterNode_s:
Collaboration diagram for oyFilterNode_s:

## Public Member Functions
OYAPI oyFilterNode_s *OYEXPORT | oyFilterNode_New (oyObject_s object)
| allocate a new FilterNode object More...
| oyFilterNode_Copy
| Copy or Reference a FilterNode object. More...
OYAPI int OYEXPORT | oyFilterNode_Release (oyFilterNode_s **filternode)
| release and possibly deallocate a oyFilterNode_s object More...
int | oyFilterNode_Connect (oyFilterNode_s *input, const char *socket_nick, oyFilterNode_s *output, const char *plug_nick, int flags)
| Connect two nodes by a edge. More...
OYAPI int OYEXPORT | oyFilterNode_ConnectorMatch (oyFilterNode_s *node_first, int pos_first, oyFilterPlug_s *plug)
| Check if a connector match to a FilterNode. More...
oyFilterNode_s * | oyFilterNode_Create (const char *registration, oyFilterCore_s *filter, oyObject_s object)
| Initialise a new filter node object properly. More...
oyStruct_s * | oyFilterNode_GetData (oyFilterNode_s *node, int socket_pos)
| Get process data from a filter socket. More...
int | oyFilterNode_SetData (oyFilterNode_s *node, oyStruct_s *data, int socket_pos, oyObject_s *object)
| Set process data to a filter socket. More...
int | oyFilterNode_Disconnect (oyFilterNode_s *node, int pos)
| Disconnect two nodes by a edge. More...
int | oyFilterNode_EdgeCount (oyFilterNode_s *node, int is_input, int flags)
| Count real and potential connections to a filter node object. More...
OYAPI int OYEXPORT | oyFilterNode_GetConnectorPos (oyFilterNode_s *node, int is_input, const char *pattern, int nth_of_type, int flags)
| Get a oyFilterSocket_s or oyFilterPlug_s position from a FilterNode. More...
OYAPI int OYEXPORT | oyFilterNode_GetId (oyFilterNode_s *node)
| Get the object Id. More...
OYAPI oyFilterPlug_s *OYEXPORT | oyFilterNode_GetPlug (oyFilterNode_s *node, int pos)
| Get a oyFilterPlug_s of type from a FilterNode. More...
OYAPI int OYEXPORT | oyFilterNode_Run (oyFilterNode_s *node, oyFilterPlug_s *plug, oyPixelAccess_s *ticket)
| Run a connected oyFilterPlug_s through the FilterNode. More...
OYAPI oyFilterSocket_s *OYEXPORT | oyFilterNode_GetSocket (oyFilterNode_s *node, int pos)
| Get a oyFilterSocket_s of type from a FilterNode. More...
OYAPI oyFilterNode_s *OYEXPORT | oyFilterNode_GetSocketNode (oyFilterNode_s *node, int pos, int plugs_pos)
| Get a neighbouring oyFilterNode_s. More...
OYAPI int OYEXPORT | oyFilterNode_CountSocketNodes (oyFilterNode_s *node, int pos, int flags)
| Get a neighbouring oyFilterNode_s. More...
OYAPI oyFilterNode_s *OYEXPORT | oyFilterNode_GetPlugNode (oyFilterNode_s *node, int pos)
| Get a neighbouring oyFilterNode_s. More...
const char * | oyFilterNode_GetText (oyFilterNode_s *node, oyNAME_e name_type)
| Serialise filter node to text. More...
oyFilterNode_s * | oyFilterNode_NewWith (const char *registration, oyOptions_s *options, oyObject_s object)
| Initialise a new filter node object properly. More...
OYAPI oyConnector_s *OYEXPORT | oyFilterNode_ShowConnector (oyFilterNode_s *node, int as_pos, int is_plug)
| Get a connector description from a filter module. More...
OYAPI oyFilterCore_s *OYEXPORT | oyFilterNode_GetCore (oyFilterNode_s *node)
| Get filter core. More...
OYAPI const char *OYEXPORT | oyFilterNode_GetRegistration (oyFilterNode_s *node)
| Get filter core registration. More...
OYAPI const char *OYEXPORT | oyFilterNode_GetRendererRegistration (oyFilterNode_s *node)
| Get filters registration. More...
OYAPI const char *OYEXPORT | oyFilterNode_GetRelatives (oyFilterNode_s *node)
| Get filter relatives string. More...
OYAPI const char *OYEXPORT | oyFilterNode_GetModuleName (oyFilterNode_s *node)
| Get filter core module string. More...
OYAPI oyPointer_s *OYEXPORT | oyFilterNode_GetContext (oyFilterNode_s *node)
| Get module data. More...
OYAPI int OYEXPORT | oyFilterNode_SetContext (oyFilterNode_s *node, oyPointer_s *data)
| Set module data. More...
oyBlob_s * | oyFilterNode_ToBlob (oyFilterNode_s *node, oyObject_s object)
| Node context to binary blob. More...
OYAPI oyOptions_s *OYEXPORT | oyFilterNode_GetTags (oyFilterNode_s *node)
| Get filter tags. More...
OYAPI int OYEXPORT | oyFilterNode_SetBackendContext (oyFilterNode_s *obj, oyPointer_s *ptr)
| set backend specific runtime data More...
OYAPI oyPointer_s *OYEXPORT | oyFilterNode_GetBackendContext (oyFilterNode_s *obj)
| get backend specific runtime data More...
oyOptions_s * | oyFilterNode_GetOptions (oyFilterNode_s *node, int flags)
| Get filter options. More...
int | oyFilterNode_GetUi (oyFilterNode_s *node, char **ui_text, char ***namespaces, oyAlloc_f allocateFunc)
| Get filter options XFORMS. More...
oyFilterNode_s * | oyFilterNode_FromOptions (const char *db_base_key, const char *base_pattern, oyOptions_s *options, oyObject_s object)
| Create a FilterNode from options and fallbacks. 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 FilterNode object.

Filter nodes chain filters into a oyConversion_s graph. The filter nodes use plugs and sockets for creating connections. Each plug can only connect to one socket.

This object provides support for separation of options from chaining. So it will be possible to implement options changing, which can affect the same filter instance in different graphs. Options and UI data is defined in the oyCMMapi4_s structure, which is part of the oyFilterCore_s part of a oyFilterNode_s.

A oyFilterNode_s can have various oyFilterPlug_s ' to obtain data from different sources. The required number is described in the oyCMMapi7_s structure. This structure defines as well the data processing method for running the DAC.

oyFilterSocket_s is designed to accept arbitrary numbers of connections to allow for viewing on a filters data output or observe its state changes.

oyFilterNode_s types are contained inside libraries called modules. The filter types are identified by Registration strings.

Version
  Oyranos: 0.1.9

Since
  2008/07/08 (Oyranos: 0.1.8)

Date
  2008/12/16

Examples:
  image_display.cpp, and oyranos_cmm_oJPG.c.

## Member Function Documentation

## ◆ oyFilterNode_Connect()

int oyFilterNode_Connect | ( | oyFilterNode_s * | input,
|  | const char * | socket_nick,
|  | oyFilterNode_s * | output,
|  | const char * | plug_nick,
|  | int | flags
| ) |  |

Connect two nodes by a edge.

Function oyFilterNode_Connect

Parameters

  input | the node to provide a socket
  socket_nick | name of socket
  output | the node providing a plug
  plug_nick | name of plug
  flags | unused

Returns
  error

Version
  Oyranos: 0.1.10

Since
  2009/02/26 (Oyranos: 0.1.10)

Date
  2009/02/26

References OY_FILTEREDGE_FREE, oyFilterCore_s::oyFilterCore_GetName(), oyFilterNode_ConnectorMatch(), oyFilterNode_EdgeCount(), oyFilterNode_GetConnectorPos(), oyFilterNode_GetPlug(), oyFilterNode_GetSocket(), oyNAME_NAME, and oyOBJECT_FILTER_NODE_S.

Referenced by oyConversion_s::oyConversion_CreateBasicPixels(), oyImage_s::oyImage_FromFile(), and oyImage_s::oyImage_ToFile().

## ◆ oyFilterNode_ConnectorMatch()

OYAPI int OYEXPORT oyFilterNode_ConnectorMatch | ( | oyFilterNode_s * | node_first,
|  | int | pos_first,
|  | oyFilterPlug_s * | plug
| ) |  |

Check if a connector match to a FilterNode.

Function oyFilterNode_ConnectorMatch

Parameters

  node_first | first node
  pos_first | position of connector from first node
  plug | second connector

Version
  Oyranos: 0.1.8

Since
  2008/07/29 (Oyranos: 0.1.8)

Date
  2008/07/29

Check if basic types match.

More detailed checking is done in oyCMMapi5_s.

References oyConnector_s::oyConnector_GetMatch(), oyConnector_s::oyConnector_GetReg(), oyConnector_s::oyConnector_Release(), oyFILTER_REG_TYPE, oyFilterNode_GetSocket(), oyFilterNode_ShowConnector(), oyFilterRegistrationMatch(), oyFilterRegistrationToText(), oyFilterSocket_s::oyFilterSocket_Release(), oyOBJECT_FILTER_NODE_S, and type_.

Referenced by oyFilterNode_Connect().

## ◆ oyFilterNode_Copy()

oyFilterNode_Copy

Copy or Reference a FilterNode object.

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

Parameters

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

Referenced by oyFilterNode_GetPlug(), oyFilterNode_GetPlugNode(), oyFilterNode_GetSocket(), oyFilterNode_GetSocketNode(), oyFilterPlug_s::oyFilterPlug_GetNode(), and oyFilterSocket_s::oyFilterSocket_GetNode().

## ◆ oyFilterNode_CountSocketNodes()

OYAPI int OYEXPORT oyFilterNode_CountSocketNodes | ( | oyFilterNode_s * | node,
|  | int | pos,
|  | int | flags
| ) |  |

Get a neighbouring oyFilterNode_s.

Function oyFilterNode_CountSocketNodes

Parameters

  node | filter node
  pos | connector position
  flags | specify which number to return OY_FILTEREDGE_FREE: count available OY_FILTEREDGE_CONNECTED: count used OY_FILTEREDGE_LASTTYPE: account only for the last connector type

Returns
  the number of possible edges

Version
  Oyranos: 0.5.0

Since
  2012/10/03 (Oyranos: 0.5.0)

Date
  2012/10/03

References oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterNode_Run().

## ◆ oyFilterNode_Create()

oyFilterNode_s * oyFilterNode_Create | ( | const char * | registration,
|  | oyFilterCore_s * | filter,
|  | oyObject_s | object
| ) |  |

Initialise a new filter node object properly.

Function oyFilterNode_Create

Parameters

  registration | the processing filter Registration string
  filter | the context filter
  object | the optional object

Version
  Oyranos: 0.9.6

Date
  2014/07/01

Since
  2008/07/30 (Oyranos: 0.1.8)

References oy_, oyFilterCore_s::oyFilterCore_Copy(), and oyFilterNode_New().

Referenced by oyFilterNode_NewWith().

## ◆ oyFilterNode_Disconnect()

int oyFilterNode_Disconnect | ( | oyFilterNode_s * | node,
|  | int | pos
| ) |  |

Disconnect two nodes by a edge.

Function oyFilterNode_Disconnect

Parameters

  node | a node
  pos | the plug number to release

Returns
  error

Version
  Oyranos: 0.5.0

Date
  2012/09/25

Since
  2009/03/04 (Oyranos: 0.1.10)

References oyCONNECTOR_EVENT_RELEASED, oyFilterSocket_s::oyFilterSocket_Callback(), oyFilterSocket_s::oyFilterSocket_Release(), and oyOBJECT_FILTER_NODE_S.

## ◆ oyFilterNode_EdgeCount()

int oyFilterNode_EdgeCount | ( | oyFilterNode_s * | node,
|  | int | is_input,
|  | int | flags
| ) |  |

Count real and potential connections to a filter node object.

Function oyFilterNode_EdgeCount

Parameters

  node | the node
  is_input | 1 - plugs; 0 - sockets
  flags | specify which number to return OY_FILTEREDGE_FREE: count available OY_FILTEREDGE_CONNECTED: count used OY_FILTEREDGE_LASTTYPE: account only for the last connector type

Returns
  the number of possible edges

Version
  Oyranos: 0.1.10

Since
  2009/02/24 (Oyranos: 0.1.10)

Date
  2009/02/27

References oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterGraph_s::oyFilterGraph_ToText(), oyFilterNode_Connect(), oyFilterNode_GetPlug(), oyFilterNode_GetSocket(), and oyFilterNode_ShowConnector().

## ◆ oyFilterNode_FromOptions()

oyFilterNode_s * oyFilterNode_FromOptions | ( | const char * | db_base_key,
|  | const char * | base_pattern,
|  | oyOptions_s * | options,
|  | oyObject_s | object
| ) |  |

Create a FilterNode from options and fallbacks.

Function oyFilterNode_FromOptions

The returned object will be created from the found registration pattern strings. The first pattern will be searched in the options argument. If a option is found and that fails, then NULL will be returned. Else the db_base_key will be used to ask the Oyranos DB for context and renderer patterns. In case that fails a policy module will be asked for a default through the base_pattern.

Parameters

  db_base_key | the Oyranos DB basic key, which will appended by "context" and "renderer"; optional
  base_pattern | the basic pattern to search in the options and to be used as fallback
  options | the options to search in for the base_pattern and get "context" and "renderer" keys; optional
  object | the optional object

Returns
  a registration pattern to match a CMM registration string or NULL

Version
  Oyranos: 0.9.6

Date
  2015/05/13

Since
  2014/07/17 (Oyranos: 0.9.6)

References oyFilterCore_s::oyFilterCore_NewWith(), oyGetFilterNodeRegFromOptions(), oyNAME_PATTERN, and oyOptions_s::oyOptions_Find().

Referenced by oyConversion_s::oyConversion_CreateBasicPixels().

## ◆ oyFilterNode_GetBackendContext()

OYAPI oyPointer_s *OYEXPORT oyFilterNode_GetBackendContext | ( | oyFilterNode_s * | obj | ) |

get backend specific runtime data

Backend context is used by a filter type during execution. That is apart from a filter, which can have it's object data associated through a oyFilterNode_GetContext().

Parameters

  [in] | obj | the node object

Returns
  the context needed to run the filter type

Version
  Oyranos: 0.9.5

Date
  2013/12/19

Since
  2013/12/19 (Oyranos: 0.9.5)

References oyCMMapi7_s::oyCMMapi7_GetBackendContext(), and oyOBJECT_FILTER_NODE_S.

## ◆ oyFilterNode_GetConnectorPos()

OYAPI int OYEXPORT oyFilterNode_GetConnectorPos | ( | oyFilterNode_s * | node,
|  | int | is_input,
|  | const char * | pattern,
|  | int | nth_of_type,
|  | int | flags
| ) |  |

Get a oyFilterSocket_s or oyFilterPlug_s position from a FilterNode.

Function oyFilterNode_GetConnectorPos

Parameters

  node | filter node
  is_input | 1 - plugs; 0 - sockets
  pattern | the pattern to be found in the oyConnector_s::connector_type of the searched plug or socket. Its a Registration string. E.g. a typical data connection: "//" OY_TYPE_STD "/data"
  nth_of_type | the position in the group of the connector type for this filter; Note this parameter makes only sense for the last filter defined connector, as only this one can occure multiple times.
  flags | specify which status to return zero means: take all into account OY_FILTEREDGE_FREE: next free available OY_FILTEREDGE_CONNECTED: consider used

Returns
  the absolute position

Version
  Oyranos: 0.1.10

Since
  2009/02/26 (Oyranos: 0.1.10)

Date
  2009/11/02

References oyConnector_s::oyConnector_GetReg(), oyFilterRegistrationMatch(), and oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterNode_Connect().

## ◆ oyFilterNode_GetContext()

OYAPI oyPointer_s *OYEXPORT oyFilterNode_GetContext | ( | oyFilterNode_s * | node | ) |

Get module data.

the filters private data, requested over oyCMMapi4_s::oyCMMFilterNode_ContextToMem() and converted to oyCMMapi4_s::context_type

Parameters

  [in,out] | node | filter object

Returns
  the data

Version
  Oyranos: 0.9.5

Date
  2013/12/22

Since
  2012/10/04 (Oyranos: 0.5.0)

References oyOBJECT_FILTER_NODE_S, and oyPointer_s::oyPointer_Copy().

## ◆ oyFilterNode_GetCore()

OYAPI oyFilterCore_s *OYEXPORT oyFilterNode_GetCore | ( | oyFilterNode_s * | node | ) |

Get filter core.

Function oyFilterNode_GetCore

Parameters

  [in,out] | node | filter object

Returns
  the core

Version
  Oyranos: 0.5.0

Date
  2012/09/15

Since
  2012/09/15 (Oyranos: 0.1.10)

References oyFilterCore_s::oyFilterCore_Copy(), and oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterGraph_s::oyFilterGraph_ToText().

## ◆ oyFilterNode_GetData()

oyStruct_s * oyFilterNode_GetData | ( | oyFilterNode_s * | node,
|  | int | socket_pos
| ) |  |

Get process data from a filter socket.

Function oyFilterNode_GetData

Parameters

  [in] | node | filter node
  [in] | socket_pos | position of socket

Returns
  the data

Version
  Oyranos: 0.1.10

Since
  2009/03/05 (Oyranos: 0.1.10)

Date
  2009/03/05

References oyStruct_s::copy, oyFilterNode_GetSocket(), oyFilterSocket_s::oyFilterSocket_Release(), and oyOBJECT_FILTER_NODE_S.

## ◆ oyFilterNode_GetId()

OYAPI int OYEXPORT oyFilterNode_GetId | ( | oyFilterNode_s * | node | ) |

Get the object Id.

Function oyFilterNode_GetId

Parameters

  [in] | node | filter node

Returns
  the object Id

Version
  Oyranos: 0.1.10

Since
  2009/02/25 (Oyranos: 0.1.10)

Date
  2009/02/25

References oy_, oyOBJECT_FILTER_NODE_S, and oyObject_GetId().

## ◆ oyFilterNode_GetModuleName()

OYAPI const char *OYEXPORT oyFilterNode_GetModuleName | ( | oyFilterNode_s * | node | ) |

Get filter core module string.

Function oyFilterNode_GetModuleName

Parameters

  [in,out] | node | filter object

Returns
  the debug string

Version
  Oyranos: 0.5.0

Date
  2012/10/04

Since
  2012/10/04 (Oyranos: 0.5.0)

References oyOBJECT_FILTER_NODE_S.

## ◆ oyFilterNode_GetOptions()

oyOptions_s * oyFilterNode_GetOptions | ( | oyFilterNode_s * | node,
|  | int | flags
| ) |  |

Get filter options.

Function oyFilterNode_GetOptions

Options are typical user visible settings, which can be presistently stored as user preferences and can be displayed in filter dialogs.

Parameters

  [in,out] | node | filter object
  | flags | see oyOptions_s::oyOptions_ForFilter()

Returns
  the options

Version
  Oyranos: 0.5.0

Since
  2008/06/26 (Oyranos: 0.1.8)

Date
  2012/06/12

Observe exported options for changes and propagate to a existing graph.

Examples:
  oyranos_cmm_oJPG.c.

References oyBOOLEAN_UNION, oyOBJECT_FILTER_NODE_S, oyOptions_s::oyOptions_Copy(), oyOptions_s::oyOptions_Filter(), oyOptions_s::oyOptions_ForFilter_(), oyOptions_s::oyOptions_New(), and oyOptions_s::oyOptions_ObserverAdd().

Referenced by oyFilterNode_GetUi(), oyImage_s::oyImage_FromFile(), and oyImage_s::oyImage_ToFile().

## ◆ oyFilterNode_GetPlug()

OYAPI oyFilterPlug_s *OYEXPORT oyFilterNode_GetPlug | ( | oyFilterNode_s * | node,
|  | int | pos
| ) |  |

Get a oyFilterPlug_s of type from a FilterNode.

Function oyFilterNode_GetPlug

Parameters

  node | filter node
  pos | position of connector from filter

Returns
  the plug

Version
  Oyranos: 0.1.8

Since
  2008/07/30 (Oyranos: 0.1.8)

Date
  2008/07/30

References oy_, oyFilterNode_Copy(), oyFilterNode_EdgeCount(), oyFilterNode_ShowConnector(), oyFilterPlug_s::oyFilterPlug_Copy(), oyFilterPlug_s::oyFilterPlug_New(), and oyOBJECT_FILTER_NODE_S.

Referenced by oyConversion_s::oyConversion_GetOnePixel(), and oyFilterNode_Connect().

## ◆ oyFilterNode_GetPlugNode()

OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_GetPlugNode | ( | oyFilterNode_s * | node,
|  | int | pos
| ) |  |

Get a neighbouring oyFilterNode_s.

Function oyFilterNode_GetPlugNode

Parameters

  node | filter node
  pos | connector position

Returns
  the node

Version
  Oyranos: 0.5.0

Since
  2012/10/03 (Oyranos: 0.5.0)

Date
  2012/10/03

References oyFilterNode_Copy(), oyFilterNode_GetRegistration(), and oyOBJECT_FILTER_NODE_S.

## ◆ oyFilterNode_GetRegistration()

OYAPI const char *OYEXPORT oyFilterNode_GetRegistration | ( | oyFilterNode_s * | node | ) |

Get filter core registration.

Function oyFilterNode_GetRegistration

Parameters

  [in,out] | node | filter object

Returns
  the Registration string

Version
  Oyranos: 0.5.0

Date
  2012/09/15

Since
  2012/09/15 (Oyranos: 0.5.0)

References oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterNode_GetPlugNode(), and oyFilterNode_Run().

## ◆ oyFilterNode_GetRelatives()

OYAPI const char *OYEXPORT oyFilterNode_GetRelatives | ( | oyFilterNode_s * | node | ) |

Get filter relatives string.

Function oyFilterNode_GetRelatives

Parameters

  [in,out] | node | filter object

Returns
  the debug string

Version
  Oyranos: 0.5.0

Date
  2012/10/04

Since
  2012/10/04 (Oyranos: 0.5.0)

References oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterNode_Run().

## ◆ oyFilterNode_GetRendererRegistration()

OYAPI const char *OYEXPORT oyFilterNode_GetRendererRegistration | ( | oyFilterNode_s * | node | ) |

Get filters registration.

Function oyFilterNode_GetRendererRegistration

Parameters

  [in,out] | node | filter object

Returns
  the Registration string

Version
  Oyranos: 0.9.6

Date
  2014/08/04

Since
  2014/08/04 (Oyranos: 0.9.6)

References oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterNode_Run().

## ◆ oyFilterNode_GetSocket()

OYAPI oyFilterSocket_s *OYEXPORT oyFilterNode_GetSocket | ( | oyFilterNode_s * | node,
|  | int | pos
| ) |  |

Get a oyFilterSocket_s of type from a FilterNode.

Function oyFilterNode_GetSocket

Parameters

  node | filter node
  pos | absolute position of connector

Returns
  the socket

Version
  Oyranos: 0.1.8

Since
  2008/07/30 (Oyranos: 0.1.8)

Date
  2008/07/30

References oy_, oyFilterNode_Copy(), oyFilterNode_EdgeCount(), oyFilterNode_ShowConnector(), oyFilterSocket_s::oyFilterSocket_Copy(), oyFilterSocket_s::oyFilterSocket_New(), and oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterGraph_s::oyFilterGraph_ToText(), oyFilterNode_Connect(), oyFilterNode_ConnectorMatch(), oyFilterNode_GetData(), and oyFilterNode_SetData().

## ◆ oyFilterNode_GetSocketNode()

OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_GetSocketNode | ( | oyFilterNode_s * | node,
|  | int | pos,
|  | int | plugs_pos
| ) |  |

Get a neighbouring oyFilterNode_s.

Function oyFilterNode_GetSocketNode

Parameters

  node | filter node
  pos | connector position
  plugs_pos | position in plug list

Returns
  the node

Version
  Oyranos: 0.5.0

Since
  2012/10/03 (Oyranos: 0.5.0)

Date
  2012/10/03

References oyFilterNode_Copy(), oyFilterPlug_s::oyFilterPlug_Release(), oyFilterPlugs_s::oyFilterPlugs_Get(), and oyOBJECT_FILTER_NODE_S.

## ◆ oyFilterNode_GetTags()

OYAPI oyOptions_s *OYEXPORT oyFilterNode_GetTags | ( | oyFilterNode_s * | node | ) |

Get filter tags.

Function oyFilterNode_GetTags

Tags are non persistent informations. Typical they are not directly user visible other than filter core options, which can appear inside dialogs.

Parameters

  [in,out] | node | filter object

Returns
  the tags

Version
  Oyranos: 0.5.0

Date
  2012/09/15

Since
  2012/09/15 (Oyranos: 0.5.0)

References oyOBJECT_FILTER_NODE_S, oyOptions_s::oyOptions_Copy(), and oyOptions_s::oyOptions_New().

## ◆ oyFilterNode_GetText()

const char * oyFilterNode_GetText | ( | oyFilterNode_s * | node,
|  | oyNAME_e | name_type
| ) |  |

Serialise filter node to text.

Function oyFilterNode_GetText

Serialise into:

- oyNAME_NICK: XML ID
- oyNAME_NAME: XML from module
- oyNAME_DESCRIPTION: ??

This function provides a complete description of the context. It might be more adequate to use only a subset for hashing as not all data and options might have an effect to the context data result. The oyCMMapi4_s::oyCMMFilterNode_GetText() function provides a way to let a module decide about what to place into a hash text.

Parameters

  [in,out] | node | filter node
  [out] | name_type | the type

Returns
  the text

Version
  Oyranos: 0.3.3

Date
  2011/11/22

Since
  2008/07/17 (Oyranos: 0.1.8)

References oyStruct_s::oy_, oyContextCollectData_(), oyFilterCore_s::oyFilterCore_GetText(), oyNAME_NAME, oyNAME_NICK, oyObject_GetName(), and oyObject_SetName().

## ◆ oyFilterNode_GetUi()

int oyFilterNode_GetUi | ( | oyFilterNode_s * | node,
|  | char ** | ui_text,
|  | char *** | namespaces,
|  | oyAlloc_f | allocateFunc
| ) |  |

Get filter options XFORMS.

Function oyFilterNode_GetUi

Parameters

  [in,out] | node | filter object
  [out] | ui_text | XFORMS fitting to the node Options
  [out] | namespaces | additional XML namespaces
  | allocateFunc | optional user allocator

Returns
  the options

Version
  Oyranos: 0.9.6

Date
  2014/06/29

Since
  2009/07/29 (Oyranos: 0.1.10)

References oyFILTER_REG_APPLICATION, oyFilterNode_GetOptions(), oyFilterRegistrationToText(), and oyOBJECT_FILTER_NODE_S.

## ◆ oyFilterNode_New()

OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_New | ( | oyObject_s | object | ) |

allocate a new FilterNode object

Function oyFilterNode_New

References oyOBJECT_OBJECT_S.

Referenced by oyFilterNode_Create().

## ◆ oyFilterNode_NewWith()

oyFilterNode_s * oyFilterNode_NewWith | ( | const char * | registration,
|  | oyOptions_s * | options,
|  | oyObject_s | object
| ) |  |

Initialise a new filter node object properly.

Function oyFilterNode_NewWith

Parameters

  registration | a Registration string,

See also
  Backend Modules

Parameters

  options | options for the filter
  object | the optional object

Version
  Oyranos: 0.1.10

Since
  2009/03/05 (Oyranos: 0.1.10)

Date
  2009/06/24

References oyFilterCore_s::oyFilterCore_NewWith(), oyFilterCore_s::oyFilterCore_Release(), and oyFilterNode_Create().

Referenced by oyConversion_s::oyConversion_CreateBasicPixels(), oyImage_s::oyImage_FromFile(), and oyImage_s::oyImage_ToFile().

## ◆ oyFilterNode_Release()

OYAPI int OYEXPORT oyFilterNode_Release | ( | oyFilterNode_s ** | filternode | ) |

release and possibly deallocate a oyFilterNode_s object

Function oyFilterNode_Release

Parameters

  [in,out] | filternode | FilterNode struct object

Examples:
  oyranos_cmm_oJPG.c.

References oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterGraph_s::oyFilterGraph_CountNodes(), oyFilterGraph_s::oyFilterGraph_GetNode(), oyFilterGraph_s::oyFilterGraph_PrepareContexts(), and oyImage_s::oyImage_ToFile().

## ◆ oyFilterNode_Run()

OYAPI int OYEXPORT oyFilterNode_Run | ( | oyFilterNode_s * | node,
|  | oyFilterPlug_s * | plug,
|  | oyPixelAccess_s * | ticket
| ) |  |

Run a connected oyFilterPlug_s through the FilterNode.

Function oyFilterNode_Run

Parameters

  node | filter node
  plug | the plug
  ticket | the job ticket

Returns
  error

Version
  Oyranos: 0.5.0

Date
  2012/09/24

Since
  2012/09/24 (Oyranos: 0.5.0)

References oy_debug, OY_FILTEREDGE_CONNECTED, oyFilterNode_CountSocketNodes(), oyFilterNode_GetRegistration(), oyFilterNode_GetRelatives(), oyFilterNode_GetRendererRegistration(), oyNAME_NICK, oyOBJECT_FILTER_NODE_S, and oyOptions_s::oyOptions_GetText().

## ◆ oyFilterNode_SetBackendContext()

OYAPI int OYEXPORT oyFilterNode_SetBackendContext | ( | oyFilterNode_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 oyCMMapi7_s creation. This function provides access for a backend inside a DAC in order to change that data during backend lifetime.

That data is apart from a filter object, which can have lifetime data associated through a oyFilterNode_GetContext(). A filter connector can have its processing data associated through oyFilterNode_SetData().

Parameters

  [in,out] | obj | the node object
  [in] | ptr | the data needed to run the filter type

Returns
  error

Version
  Oyranos: 0.9.5

Date
  2013/12/23

Since
  2013/12/19 (Oyranos: 0.9.5)

References oyCMMapi7_s::oyCMMapi7_SetBackendContext(), and oyOBJECT_FILTER_NODE_S.

## ◆ oyFilterNode_SetContext()

OYAPI int OYEXPORT oyFilterNode_SetContext | ( | oyFilterNode_s * | node,
|  | oyPointer_s * | data
| ) |  |

Set module data.

References oyOBJECT_FILTER_NODE_S, oyPointer_s::oyPointer_Copy(), and oyPointer_s::oyPointer_Release().

## ◆ oyFilterNode_SetData()

int oyFilterNode_SetData | ( | oyFilterNode_s * | node,
|  | oyStruct_s * | data,
|  | int | socket_pos,
|  | oyObject_s * | object
| ) |  |

Set process data to a filter socket.

Function oyFilterNode_SetData

Parameters

  [in,out] | node | filter node
  [in] | data | data
  [in] | socket_pos | position of socket
  [in] | object | a object to not only set a reference

Returns
  error

Version
  Oyranos: 0.1.10

Since
  2009/03/05 (Oyranos: 0.1.10)

Date
  2009/03/05

References oyStruct_s::copy, oyFilterNode_GetSocket(), oyOBJECT_FILTER_NODE_S, and oyFilterSocket_s::release.

Referenced by oyConversion_s::oyConversion_CreateBasicPixels(), and oyImage_s::oyImage_ToFile().

## ◆ oyFilterNode_ShowConnector()

OYAPI oyConnector_s *OYEXPORT oyFilterNode_ShowConnector | ( | oyFilterNode_s * | node,
|  | int | as_pos,
|  | int | is_plug
| ) |  |

Get a connector description from a filter module.

Function oyFilterNode_ShowConnector

The path to obtain a new connector. The filter can say it has more connectors to provide for a certain kind of static connector eigther described in oyCMMapi4_s::inputs or oyCMMapi4_s::outputs.

Parameters

  [in] | node | the module filter node
  [in] | as_pos | the according oyConnector_s
  [in] | is_plug | select from 0 - plugs or 1 - sockets

Returns
  the new oyConnector_s

Version
  Oyranos: 0.1.10

Since
  2008/07/28 (Oyranos: 0.1.8)

Date
  2008/12/27

References oyConnector_s::copy, oyFilterNode_EdgeCount(), oyOBJECT_FILTER_NODE_S, oyObject_New(), and type_.

Referenced by oyFilterNode_ConnectorMatch(), oyFilterNode_GetPlug(), and oyFilterNode_GetSocket().

## ◆ oyFilterNode_ToBlob()

oyBlob_s * oyFilterNode_ToBlob | ( | oyFilterNode_s * | node,
|  | oyObject_s | object
| ) |  |

Node context to binary blob.

Typical a context from a CMM will be returned. It is a intermediate context from oyCMMapi4_s backend. A converted context, which is ready for precessing by oyCMMapi7_s backends, is stored inside the node and can be obtained by oyFilterNode_GetContext().

Parameters

  node | node object
  object | the optional object

Returns
  the data blob

Version
  Oyranos: 0.9.5

Since
  2014/01/25 (Oyranos: 0.9.5)

Date
  2014/01/25

References oyBlob_s::oyBlob_GetPointer(), oyBlob_s::oyBlob_GetSize(), oyBlob_s::oyBlob_New(), oyBlob_s::oyBlob_Release(), and oyOBJECT_FILTER_NODE_S.

## Field Documentation

## ◆ copy

oyStruct_Copy_f oyFilterNode_s::copy

Copy function.

## ◆ oy_

oyObject_s oyFilterNode_s::oy_

Oyranos internal object.

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

Referenced by oyFilterNode_Create(), oyFilterNode_GetId(), oyFilterNode_GetPlug(), and oyFilterNode_GetSocket().

## ◆ release

oyStruct_Release_f oyFilterNode_s::release

Release function.

## ◆ type_

const oyOBJECT_e oyFilterNode_s::type_

Type of object.

The struct type tells Oyranos how to interprete hidden fields.

Referenced by oyFilterNode_ConnectorMatch(), oyFilterNode_ShowConnector(), and oyFilterNodes_s::oyFilterNodes_MoveIn().