![]() |
Oyranos
git-devel
Oyranos is a full featured Color Management System
|
Oyranos object observers. More...
#include <oyObserver_s.h>


Public Member Functions | |
| OYAPI oyObserver_s *OYEXPORT | oyObserver_New (oyObject_s object) |
| allocate a new Observer object More... | |
| OYAPI oyObserver_s *OYEXPORT | oyObserver_Copy (oyObserver_s *observer, oyObject_s object) |
| Copy or Reference a Observer object. More... | |
| OYAPI int OYEXPORT | oyObserver_Release (oyObserver_s **observer) |
| release and possibly deallocate a oyObserver_s object More... | |
| OYAPI int OYEXPORT | oyObserver_SignalSend (oyObserver_s *observer, oySIGNAL_e signal_type, oyStruct_s *signal_data) |
| send a signal to a Observer object More... | |
| OYAPI int OYEXPORT | oyStruct_ObserverAdd (oyStruct_s *model, oyStruct_s *observer, oyStruct_s *user_data, oyObserver_Signal_f signalFunc) |
| send a signal to a Observer object More... | |
| OYAPI int OYEXPORT | oyStruct_ObserverRemove (oyStruct_s *model, oyStruct_s *observer, oyObserver_Signal_f signalFunc) |
| disconnect a observer from a object More... | |
| OYAPI int OYEXPORT | oyStruct_ObserverSignal (oyStruct_s *model, oySIGNAL_e signal_type, oyStruct_s *signal_data) |
| send a signal to all ovservers of a model More... | |
| OYAPI int OYEXPORT | oyStruct_DisableSignalSend (oyStruct_s *model) |
| disable sending a signal to all ovservers of a model More... | |
| OYAPI int OYEXPORT | oyStruct_EnableSignalSend (oyStruct_s *model) |
| reenable sending a signal to all ovservers of a model More... | |
| OYAPI int OYEXPORT | oyStruct_ObserversCopy (oyStruct_s *object, oyStruct_s *pattern, uint32_t flags) |
| copy a objects observers and models to a different object More... | |
| OYAPI int OYEXPORT | oyStruct_ObserverCopyModel (oyStruct_s *model, oyStruct_s *pattern, uint32_t flags) |
| copy a models observers to a different model More... | |
| OYAPI int OYEXPORT | oyStruct_ObserverCopyObserver (oyStruct_s *observer, oyStruct_s *pattern, uint32_t flags) |
| copy a observers models to a different observer More... | |
| OYAPI int OYEXPORT | oyStruct_IsObserved (oyStruct_s *model, oyStruct_s *observer) |
| return object observation status More... | |
| OYAPI int OYEXPORT | oyStruct_ObservationCount (oyStruct_s *object, uint32_t flags) |
| return the number of object<->model references More... | |
| OYAPI uint32_t OYEXPORT | oyObserverGetFlags (void) |
| get global flags for Observation More... | |
| OYAPI int OYEXPORT | oyObserverSetFlags (uint32_t flags) |
| set global flags for Observation More... | |
| void | oyObserver_Release__Members (oyObserver_s_ *observer) |
| Custom Observer destructor. More... | |
| int | oyObserver_Init__Members (oyObserver_s_ *observer OY_UNUSED) |
| Custom Observer constructor. More... | |
| int | oyObserver_Copy__Members (oyObserver_s_ *dst, oyObserver_s_ *src) |
| Custom Observer copy constructor. More... | |
| int | oyStructSignalForward_ (oyObserver_s *observer, oySIGNAL_e signal_type, oyStruct_s *signal_data) |
| Observe all list members. More... | |
| oyStructList_s * | oyStruct_ObserverListGet_ (oyStruct_s *obj, const char *reg) |
| Get the desired list of oyObserver_s'. More... | |
| int | oyStruct_ObserverRemove_ (oyStructList_s *list, oyStruct_s *obj, int observer, oyObserver_Signal_f signalFunc) |
| Remove a observer from the observer or model internal list. 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... | |
Oyranos object observers.
oyObserver_s is following the viewer/model design pattern. The relations of oyObserver_s' can be anything up to complicated cyclic, directed graphs. The oyObserver_s type is intented for communication to non graph objects. Oyranos graphs have several communication paths available, which should be prefered over oyObserver_s when possible.
The struct contains properties to signal changes to a observer. The signaling provides a small set of very generic signals types as enumeration. It is possible for models to add additional data to the signal. These additional data is only blindly transported. A agreement is not subject of the oyObserver_s structure. For completeness the observed object shall always be included in the signal.
| OYAPI oyObserver_s *OYEXPORT oyObserver_Copy | ( | oyObserver_s * | observer, |
| oyObject_s | object | ||
| ) |
Copy or Reference a Observer object.
Function oyObserver_Copy
The function is for copying and for referencing. The reference is the most often used way, which saves resourcs and time.
| [in] | observer | Observer struct object |
| object | NULL - means reference, the optional object triggers a real copy |
| int oyObserver_Copy__Members | ( | oyObserver_s_ * | dst, |
| oyObserver_s_ * | src | ||
| ) |
Custom Observer copy constructor.
Function oyObserver_Copy__Members
| int oyObserver_Init__Members | ( | oyObserver_s_ *observer | OY_UNUSED | ) |
Custom Observer constructor.
Function oyObserver_Init__Members
| OYAPI oyObserver_s *OYEXPORT oyObserver_New | ( | oyObject_s | object | ) |
allocate a new Observer object
Function oyObserver_New
| OYAPI int OYEXPORT oyObserver_Release | ( | oyObserver_s ** | observer | ) |
release and possibly deallocate a oyObserver_s object
Function oyObserver_Release
| [in,out] | observer | Observer struct object |
| void oyObserver_Release__Members | ( | oyObserver_s_ * | observer | ) |
Custom Observer destructor.
Function oyObserver_Release__Members
| OYAPI int OYEXPORT oyObserver_SignalSend | ( | oyObserver_s * | observer, |
| oySIGNAL_e | signal_type, | ||
| oyStruct_s * | signal_data | ||
| ) |
send a signal to a Observer object
Function oyObserver_SignalSend
| [in] | observer | observer |
| [in] | signal_type | basic signal information |
| [in] | signal_data | advanced informations |
| OYAPI uint32_t OYEXPORT oyObserverGetFlags | ( | void | ) |
get global flags for Observation
Function oyObserverGetFlags
| OYAPI int OYEXPORT oyObserverSetFlags | ( | uint32_t | flags | ) |
set global flags for Observation
Function oyObserverSetFlags
| OYAPI int OYEXPORT oyStruct_DisableSignalSend | ( | oyStruct_s * | model | ) |
disable sending a signal to all ovservers of a model
Function oyStruct_DisableSignalSend
| [in] | model | the model |
Referenced by oyOptions_s::oyOptions_ObserversDisable().
| OYAPI int OYEXPORT oyStruct_EnableSignalSend | ( | oyStruct_s * | model | ) |
reenable sending a signal to all ovservers of a model
Function oyStruct_EnableSignalSend
| [in] | model | the model |
Referenced by oyOptions_s::oyOptions_ObserversEnable().
| OYAPI int OYEXPORT oyStruct_IsObserved | ( | oyStruct_s * | model, |
| oyStruct_s * | observer | ||
| ) |
return object observation status
Function oyStruct_IsObserved
Check if a object is observed by others.
| model | model to ask |
| observer | which observes that model |
| OYAPI int OYEXPORT oyStruct_ObservationCount | ( | oyStruct_s * | object, |
| uint32_t | flags | ||
| ) |
return the number of object<->model references
Function oyStruct_ObservationCount
The function lists by default (0) models and observers. Both types are individually selectable in the flags.
| object | which observes a model |
| flags | select:
|
| OYAPI int OYEXPORT oyStruct_ObserverAdd | ( | oyStruct_s * | model, |
| oyStruct_s * | observer, | ||
| oyStruct_s * | user_data, | ||
| oyObserver_Signal_f | signalFunc | ||
| ) |
send a signal to a Observer object
Function oyStruct_ObserverAdd
| [in] | model | the to be observed model |
| [in] | observer | the in observation intereressted object |
| [in] | user_data | additional static informations |
| [in] | signalFunc | the signal handler; defaults to oyStructSignalForward_ |
| OYAPI int OYEXPORT oyStruct_ObserverCopyModel | ( | oyStruct_s * | model, |
| oyStruct_s * | pattern, | ||
| uint32_t | flags | ||
| ) |
copy a models observers to a different model
Function oyStruct_ObserverCopyModel
The observers are copied from pattern with object type to a model with the same object type.
| [in,out] | model | the model |
| [in] | pattern | the pattern to copy from |
| [in] | flags | 0x01 omit observer idendity check |
| OYAPI int OYEXPORT oyStruct_ObserverCopyObserver | ( | oyStruct_s * | observer, |
| oyStruct_s * | pattern, | ||
| uint32_t | flags | ||
| ) |
copy a observers models to a different observer
Function oyStruct_ObserverCopyObserver
The models are copied from pattern with object type to a object with the same object type.
| [in,out] | observer | the observer |
| [in] | pattern | the pattern to copy from |
| [in] | flags | 0x01 omit model idendity check |
| oyStructList_s * oyStruct_ObserverListGet_ | ( | oyStruct_s * | obj, |
| const char * | reg | ||
| ) |
Get the desired list of oyObserver_s'.
Function oyStruct_ObserverListGet_
Referenced by oyStruct_ObserverRemove().
| OYAPI int OYEXPORT oyStruct_ObserverRemove | ( | oyStruct_s * | model, |
| oyStruct_s * | observer, | ||
| oyObserver_Signal_f | signalFunc | ||
| ) |
disconnect a observer from a object
Function oyStruct_ObserverRemove
| [in,out] | observer | the model |
| [in] | model | the pattern |
| [in] | signalFunc | the signal handler to remove |
References oyStruct_s::oy_, and oyStruct_ObserverListGet_().
| int oyStruct_ObserverRemove_ | ( | oyStructList_s * | list, |
| oyStruct_s * | obj, | ||
| int | observer, | ||
| oyObserver_Signal_f | signalFunc | ||
| ) |
Remove a observer from the observer or model internal list.
Function oyStruct_ObserverRemove_
| OYAPI int OYEXPORT oyStruct_ObserversCopy | ( | oyStruct_s * | object, |
| oyStruct_s * | pattern, | ||
| uint32_t | flags | ||
| ) |
copy a objects observers and models to a different object
Function oyStruct_ObserversCopy
oyStruct_ObserversCopy is a convenience function for oyStruct_ObserverCopyModel() and oyStruct_ObserverCopyObserver().
| [in,out] | object | the object |
| [in] | pattern | the pattern to copy from |
| [in] | flags | 0x02 omit observers; 0x04 omit models |
| OYAPI int OYEXPORT oyStruct_ObserverSignal | ( | oyStruct_s * | model, |
| oySIGNAL_e | signal_type, | ||
| oyStruct_s * | signal_data | ||
| ) |
send a signal to all ovservers of a model
Function oyStruct_ObserverSignal
| [in] | model | the model |
| [in] | signal_type | the basic signal type to emit |
| [in,out] | signal_data | the advanced signal information |
| int oyStructSignalForward_ | ( | oyObserver_s * | observer, |
| oySIGNAL_e | signal_type, | ||
| oyStruct_s * | signal_data | ||
| ) |
Observe all list members.
Function oyStructSignalForward_
| oyStruct_Copy_f oyObserver_s::copy |
Copy function.
| oyObject_s oyObserver_s::oy_ |
Oyranos internal object.
Features name and hash. Do not change during object life time.
| oyStruct_Release_f oyObserver_s::release |
Release function.
| const oyOBJECT_e oyObserver_s::type_ |
Type of object.
The struct type tells Oyranos how to interprete hidden fields.
1.8.13