Classes | Public Member Functions | Protected Attributes | Private Types | Private Member Functions | Static Private Attributes | List of all members
GENAPI_NAMESPACE::CNodeImpl Class Reference

Standard implementation for the INode and the ISelector interface. More...

#include <Node.h>

Inheritance diagram for GENAPI_NAMESPACE::CNodeImpl:
Inheritance graph
[legend]

Classes

class  EntryMethodFinalizer
 Used to ensure that PostSetValue() is called in any case. More...
 
class  PostSetValueFinalizer
 Used to ensure that PostSetValue() is called in any case. More...
 

Public Member Functions

void add_child (CPropertyID::EProperty_ID_t PropertyID, CProperty &, INodePrivate *pNode)
 
void add_orphan_child (CPropertyID::EProperty_ID_t PropertyID, CProperty &, INodePrivate *pNode)
 
INodeMapPrivateGetNodeMapPrivate ()
 Retrieves the INodeMapPrivate interface. More...
 
void SetParent (INodePrivate *pParent)
 Sets a parent : CAVE : for internal use only... More...
 
Constructor / destructor
 CNodeImpl ()
 Constructor. More...
 
virtual ~CNodeImpl ()
 Destructor. More...
 
Interface INodePrivate
virtual void Initialize (GENAPI_NAMESPACE::INodeMapPrivate *const pNodeMap, CNodeData::ENodeType_t NodeType, NodeID_t &NodeID)
 
virtual CNodeData::ENodeType_t GetNodeType ()
 
virtual NodeID_t GetNodeID ()
 
virtual void FinalConstruct ()
 
virtual void SetProperty (CProperty &Property)
 
virtual bool GetProperty (CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const
 
virtual void SetInvalid (ESetInvalidMode simMode)
 
virtual void CollectCallbacksToFire (std::list< CNodeCallback * > &CallbacksToFire, bool allDependents=false)
 
virtual bool IsTerminalNode () const
 
virtual void GetTerminalNodes (GENAPI_NAMESPACE::NodeList_t &Terminals) const
 
virtual bool Poll (int64_t ElapsedTime)
 
Interface ISelector
virtual bool IsSelector () const
 
virtual void GetSelectedFeatures (FeatureList_t &list) const
 
virtual void GetSelectingFeatures (FeatureList_t &) const
 

Protected Member Functions

Interface IBase (methods are called by the BaseT class)
virtual EAccessMode InternalGetAccessMode () const
 Get the access mode of the node. More...
 
virtual EInterfaceType InternalGetPrincipalInterfaceType () const
 Implementation of IBase::GetPrincipalInterfaceType() More...
 
EAccessMode InternalGetAccessMode (IBase *pValue) const
 Default implementation of GetAccessMode taking into account another node. More...
 
Interface INode (methods are called by the NodeT class)
virtual GENICAM_NAMESPACE::gcstring InternalGetName (bool FullQualified=false) const
 Get node name. More...
 
virtual GENAPI_NAMESPACE::ENameSpace InternalGetNameSpace () const
 Get name space. More...
 
virtual EVisibility InternalGetVisibility () const
 Get the recommended visibility of the node. More...
 
virtual void InternalInvalidateNode (std::list< CNodeCallback * > &CallbacksToFire)
 
virtual bool InternalIsCachable () const
 Is the node value cachable. More...
 
virtual ECachingMode InternalGetCachingMode () const
 Get Caching Mode. More...
 
virtual int64_t InternalGetPollingTime () const
 recommended polling time (for not cachable nodes) More...
 
virtual GENICAM_NAMESPACE::gcstring InternalGetToolTip () const
 Get a short description of the node. More...
 
virtual GENICAM_NAMESPACE::gcstring InternalGetDescription () const
 Get a long description of the node. More...
 
virtual GENICAM_NAMESPACE::gcstring InternalGetDisplayName () const
 
virtual GENICAM_NAMESPACE::gcstring InternalGetDeviceName () const
 Get a name of the device. More...
 
virtual void InternalGetChildren (GENAPI_NAMESPACE::NodeList_t &Children, ELinkType LinkType) const
 Get all children of the node. More...
 
virtual CallbackHandleType InternalRegisterCallback (CNodeCallback *pCallback)
 Register change callback. More...
 
virtual bool InternalDeregisterCallback (CallbackHandleType hCallback)
 Deregister change callback. More...
 
virtual INodeMapInternalGetNodeMap () const
 Retrieves the node map. More...
 
virtual GENICAM_NAMESPACE::gcstring GetEventID () const
 Get the EventId of the node. More...
 
virtual bool IsStreamable () const
 True if the node is streamable. More...
 
virtual void GetParents (GENAPI_NAMESPACE::NodeList_t &Parents) const
 
virtual void GetPropertyNames (GENICAM_NAMESPACE::gcstring_vector &PropertyNames) const
 Returns a list of the names all properties set during initialization. More...
 
virtual bool GetProperty (const GENICAM_NAMESPACE::gcstring &PropertyName, GENICAM_NAMESPACE::gcstring &ValueStr, GENICAM_NAMESPACE::gcstring &AttributeStr) const
 Retrieves a property plus an additional attribute by name. More...
 
virtual void ImposeAccessMode (EAccessMode ImposedAccessMode)
 Imposes an access mode to the natural access mode of the node. More...
 
virtual void ImposeVisibility (EVisibility ImposedVisibility)
 Imposes a visibility to the natural visibility of the node. More...
 
virtual INodeGetAlias () const
 Retrieves the a node which describes the same feature in a different way. More...
 
virtual INodeGetCastAlias () const
 Retrieves the a node which describes the same feature so that it can be casted. More...
 
virtual void InternalCheckError () const
 Checks for an explicitly via the <pError> element defined error. More...
 
virtual GENICAM_NAMESPACE::gcstring InternalGetDocuURL () const
 Gets a URL pointing to the documentation of that feature. More...
 
virtual bool InternalIsDeprecated () const
 True if the node should not be used any more. More...
 
virtual bool IsFeature () const
 True if the node can be reached via category nodes from a category node named "Std::Root". More...
 
virtual EYesNo InternalIsAccessModeCacheable () const
 True if the AccessMode can be cached. More...
 
bool IsAccessModeCached () const
 returns true, if the AccessModeCache is valid More...
 

Protected Attributes

EYesNo m_ExposeStatic
 
NodeID_t m_NodeID
 The node's ID. More...
 
CNodeData::ENodeType_t m_NodeTypeEnum
 
UserData_t m_pUserData
 Storage of user defined data. Ownership remains by the user!. Use IUserData interface to access the data. More...
 
Implementation of the node dependency handling
NodePrivateVector_t m_Parents
 All nodes for which this node is at least a DependecyChild. More...
 
NodePrivateVector_t m_ReadingChildren
 all nodes which can be read from For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies More...
 
NodePrivateVector_t m_WritingChildren
 all nodes which can write a value further down the node stack For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies More...
 
NodePrivateVector_t m_InvalidatingChildren
 All directly connected nodes which invalidate this node For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies. More...
 
NodePrivateVector_t m_AllDependingNodes
 All directly or indirectly connected nodes which are invalidated by this nodes (i.e. which are dependent on this node) For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies. More...
 
NodePrivateVector_t m_AllTerminalNodes
 All indirectly connected terminal nodes For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies. More...
 
NodePrivateVector_t m_VariableChildren
 All node use as variable by this node. More...
 
Implementation of the loggers
GENICAM_NAMESPACE::ILoggerm_pAccessLog
 Logger for messages concerning the AccessMode. More...
 
GENICAM_NAMESPACE::ILoggerm_pValueLog
 Logger for messages concerning the getting and setting values. More...
 
GENICAM_NAMESPACE::ILoggerm_pRangeLog
 Logger for messages concerning the range check. More...
 
GENICAM_NAMESPACE::ILoggerm_pPortLog
 Logger for messages concerning the port access. More...
 
GENICAM_NAMESPACE::ILoggerm_pCacheLog
 Logger for messages concerning the caching access. More...
 
GENICAM_NAMESPACE::ILoggerm_pPreProcLog
 Logger for things done during pre-processing of the node map, e.g. determining dependencies. More...
 
GENICAM_NAMESPACE::ILoggerm_pMiscLog
 Logger for messages concerning miscellaneous access which does not fit to the other categories. More...
 

Private Types

typedef char char_t
 
typedef std::ostringstream ostringstream_t
 
typedef std::string::size_type size_type
 
typedef std::string string_t
 

Private Member Functions

void GetModelName (string_t &VariableContent) const
 
void GetNodeName (string_t &VariableContent) const
 
void GetNodeValue (const CValuePtr &ptrValue, CNodeImpl::string_t &VariableContent) const
 
void GetStandardNameSpace (string_t &VariableContent) const
 
void GetStringStreamContent (const ostringstream_t &Content, string_t &VariableContent) const
 
void GetVendorName (string_t &VariableContent) const
 
UserData_t GetUserData () const
 
UserData_t SetUserData (UserData_t userdata)
 

Static Private Attributes

static const size_t MaxPath
 

Members properties and helpers

enum  ETerminalPropagationState { eNotVisited, eBeingVisited, eTerminalPropagationDone }
 States when propagating terminals. More...
 
GENICAM_NAMESPACE::gcstring m_Name
 The name of the node. More...
 
GENICAM_NAMESPACE::gcstring m_Extension
 The metadata from the extension. More...
 
ENameSpace m_NameSpace
 The namespace of the node. More...
 
GENICAM_NAMESPACE::gcstring m_DeviceName
 The device name of the node tree. More...
 
GENICAM_NAMESPACE::gcstring m_DisplayName
 The display name string of the node. More...
 
GENICAM_NAMESPACE::gcstring m_ToolTip
 The ToolTip for the node. More...
 
GENICAM_NAMESPACE::gcstring m_Description
 The Description of the node. More...
 
EVisibility m_Visibility
 recommended visibility; More...
 
CBooleanPolyRef m_IsImplemented
 Reference to a Node, which indicates if the node is implemented. More...
 
CBooleanPolyRef m_IsAvailable
 Reference to a Node, which indicates if the node is available. More...
 
CBooleanPolyRef m_IsLocked
 Reference to a Node, which indicates if the node is locked (i.e. not writable) More...
 
CBooleanPolyRef m_BlockPolling
 Reference to a Node, which indicates if the node is not cached. More...
 
IEnumerationm_pError
 Pointer to a Error class. More...
 
INodem_pAlias
 Pointer to a Node, which describes the same feature as this one. More...
 
INodem_pCastAlias
 Pointer to a Node, which describes the same feature as this one so that it can be casted. More...
 
ECachingMode m_CachingMode
 indicates that the node has changed More...
 
FeatureList_t m_Selected
 List of selected features. More...
 
FeatureList_t m_Selecting
 List of selecting features. More...
 
GENICAM_NAMESPACE::gcstring m_EventID
 The EventID. More...
 
EYesNo m_IsStreamable
 indicates if the node is streamable More...
 
EAccessMode m_ImposedAccessMode
 Access mode imposed on the natural access mode of the node. More...
 
EVisibility m_ImposedVisibility
 Visibility imposed to the natural visibility of the node. More...
 
int64_t m_PollingTime
 recommended polling time in [ms] More...
 
ETerminalPropagationState m_propagationState
 Current state for propagating terminals. More...
 
NodeList_t m_Invalidators
 List of references to nodes which may invalidate this node. More...
 
GENICAM_NAMESPACE::gcstring m_DocuURL
 A URL pointing or the documentation of this featrues. More...
 
EYesNo m_IsDeprecated
 indicates that the feature should not be used any more More...
 
GENICAM_NAMESPACE::gcstring_vector m_PropertyNames
 Helper: A list of all properties belonging to this node. More...
 
EYesNo m_IsFeature
 indicates that the node is a feature that is reachable from the Root node via categories More...
 
GENICAM_NAMESPACE::gcstring GetNodeType () const
 

Implementation of the cache

ECachingMode m_CachingModeCache
 stores the cached value of the CachingMode More...
 
EAccessMode m_AccessModeCache
 cache access mode More...
 
bool m_ValueCacheValid
 true if the value cache is valid More...
 
bool m_ListOfValidValuesCacheValid
 true if the list of valid value is cached More...
 
EYesNo m_AccessModeCacheability
 indicates if the AccessMode is cacheable More...
 
void CacheAccessModeIfPossible (EAccessMode AccessMode) const
 
virtual bool InternalIsValueCacheValid () const
 Checks if the value comes from cache or is requested from another node. More...
 

Implementation members and methods

typedef AutoLock Lock
 shortcut for the lock type More...
 
INodeMapPrivatem_pNodeMap
 Pointer to the node map. More...
 
int64_t m_ElapsedTime
 time elapsed since the last poll More...
 
bool m_DontDeleteThisCache
 indicates that the cache has been filled and should not be cleared at the end of the operation More...
 
bool m_TerminalNodeWritten
 indicates that this terminal node was written and not yet invalidated. More...
 
std::list< CNodeCallback * > m_Callbacks
 List of callbacks. More...
 
CLockGetLock () const
 Acquire central lock. More...
 
CounterGetBathometer () const
 The bathometer is a counter used to measure the depth of SetValue-like call chains. More...
 
void PreSetValue ()
 Invalidates all nodes which will become affected by a SetValue call into the node tree. More...
 
void PostSetValue (std::list< CNodeCallback * > &CallbacksToFire)
 Fires callback on all nodes which became affected by a SetValue call into the node tree. More...
 
GENICAM_NAMESPACE::gcstring GetQualifiedName (GENICAM_NAMESPACE::gcstring Name, ENameSpace NameSpace) const
 Creates the full qualified name. More...
 

Detailed Description

Standard implementation for the INode and the ISelector interface.

Definition at line 86 of file Node.h.

Member Typedef Documentation

Definition at line 674 of file Node.h.

shortcut for the lock type

Definition at line 537 of file Node.h.

Definition at line 673 of file Node.h.

typedef std::string::size_type GENAPI_NAMESPACE::CNodeImpl::size_type
private

Definition at line 672 of file Node.h.

typedef std::string GENAPI_NAMESPACE::CNodeImpl::string_t
private

Definition at line 671 of file Node.h.

Member Enumeration Documentation

States when propagating terminals.

Enumerator
eNotVisited 

PropagateTerminals not run for node.

eBeingVisited 

PropagateTerminals is in progress for node, used for detecting cycles.

eTerminalPropagationDone 

PropagateTerminals is done for node, can just copy from m_AllTerminalNodes.

Definition at line 439 of file Node.h.

Constructor & Destructor Documentation

GENAPI_NAMESPACE::CNodeImpl::CNodeImpl ( )

Constructor.

virtual GENAPI_NAMESPACE::CNodeImpl::~CNodeImpl ( )
virtual

Destructor.

Member Function Documentation

void GENAPI_NAMESPACE::CNodeImpl::add_child ( CPropertyID::EProperty_ID_t  PropertyID,
CProperty &  ,
INodePrivate pNode 
)
inline

Definition at line 318 of file Node.h.

void GENAPI_NAMESPACE::CNodeImpl::add_orphan_child ( CPropertyID::EProperty_ID_t  PropertyID,
CProperty &  ,
INodePrivate pNode 
)
inline

Definition at line 335 of file Node.h.

void GENAPI_NAMESPACE::CNodeImpl::CacheAccessModeIfPossible ( EAccessMode  AccessMode) const
inlineprotected

Definition at line 507 of file Node.h.

virtual void GENAPI_NAMESPACE::CNodeImpl::CollectCallbacksToFire ( std::list< CNodeCallback * > &  CallbacksToFire,
bool  allDependents = false 
)
virtual
virtual void GENAPI_NAMESPACE::CNodeImpl::FinalConstruct ( )
virtual
virtual INode* GENAPI_NAMESPACE::CNodeImpl::GetAlias ( ) const
protectedvirtual

Retrieves the a node which describes the same feature in a different way.

Counter& GENAPI_NAMESPACE::CNodeImpl::GetBathometer ( ) const
protected

The bathometer is a counter used to measure the depth of SetValue-like call chains.

virtual INode* GENAPI_NAMESPACE::CNodeImpl::GetCastAlias ( ) const
protectedvirtual

Retrieves the a node which describes the same feature so that it can be casted.

virtual GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::GetEventID ( ) const
protectedvirtual
CLock& GENAPI_NAMESPACE::CNodeImpl::GetLock ( ) const
protected

Acquire central lock.

void GENAPI_NAMESPACE::CNodeImpl::GetModelName ( string_t VariableContent) const
private
virtual NodeID_t GENAPI_NAMESPACE::CNodeImpl::GetNodeID ( )
virtual
INodeMapPrivate* GENAPI_NAMESPACE::CNodeImpl::GetNodeMapPrivate ( )
inline

Retrieves the INodeMapPrivate interface.

Definition at line 260 of file Node.h.

void GENAPI_NAMESPACE::CNodeImpl::GetNodeName ( string_t VariableContent) const
private
virtual CNodeData::ENodeType_t GENAPI_NAMESPACE::CNodeImpl::GetNodeType ( )
virtual
GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::GetNodeType ( ) const
inlineprotected

Definition at line 362 of file Node.h.

void GENAPI_NAMESPACE::CNodeImpl::GetNodeValue ( const CValuePtr ptrValue,
CNodeImpl::string_t VariableContent 
) const
private
virtual void GENAPI_NAMESPACE::CNodeImpl::GetParents ( GENAPI_NAMESPACE::NodeList_t Parents) const
protectedvirtual
virtual bool GENAPI_NAMESPACE::CNodeImpl::GetProperty ( const GENICAM_NAMESPACE::gcstring PropertyName,
GENICAM_NAMESPACE::gcstring ValueStr,
GENICAM_NAMESPACE::gcstring AttributeStr 
) const
protectedvirtual

Retrieves a property plus an additional attribute by name.

If a property has multiple values/attribute they come with Tabs as delimiters

virtual bool GENAPI_NAMESPACE::CNodeImpl::GetProperty ( CNodeDataMap *  pNodeDataMap,
CPropertyID::EProperty_ID_t  PropertyID,
CNodeData::PropertyVector_t &  PropertyList 
) const
virtual
virtual void GENAPI_NAMESPACE::CNodeImpl::GetPropertyNames ( GENICAM_NAMESPACE::gcstring_vector &  PropertyNames) const
protectedvirtual
GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::GetQualifiedName ( GENICAM_NAMESPACE::gcstring  Name,
ENameSpace  NameSpace 
) const
protected

Creates the full qualified name.

virtual void GENAPI_NAMESPACE::CNodeImpl::GetSelectedFeatures ( FeatureList_t &  list) const
virtual
virtual void GENAPI_NAMESPACE::CNodeImpl::GetSelectingFeatures ( FeatureList_t &  ) const
virtual
void GENAPI_NAMESPACE::CNodeImpl::GetStandardNameSpace ( string_t VariableContent) const
private
void GENAPI_NAMESPACE::CNodeImpl::GetStringStreamContent ( const ostringstream_t Content,
string_t VariableContent 
) const
private
virtual void GENAPI_NAMESPACE::CNodeImpl::GetTerminalNodes ( GENAPI_NAMESPACE::NodeList_t Terminals) const
virtual
UserData_t GENAPI_NAMESPACE::CNodeImpl::GetUserData ( ) const
private
void GENAPI_NAMESPACE::CNodeImpl::GetVendorName ( string_t VariableContent) const
private
virtual void GENAPI_NAMESPACE::CNodeImpl::ImposeAccessMode ( EAccessMode  ImposedAccessMode)
protectedvirtual

Imposes an access mode to the natural access mode of the node.

virtual void GENAPI_NAMESPACE::CNodeImpl::ImposeVisibility ( EVisibility  ImposedVisibility)
protectedvirtual

Imposes a visibility to the natural visibility of the node.

virtual void GENAPI_NAMESPACE::CNodeImpl::Initialize ( GENAPI_NAMESPACE::INodeMapPrivate *const  pNodeMap,
CNodeData::ENodeType_t  NodeType,
NodeID_t &  NodeID 
)
virtual
virtual void GENAPI_NAMESPACE::CNodeImpl::InternalCheckError ( ) const
protectedvirtual

Checks for an explicitly via the <pError> element defined error.

virtual bool GENAPI_NAMESPACE::CNodeImpl::InternalDeregisterCallback ( CallbackHandleType  hCallback)
protectedvirtual

Deregister change callback.

Destroys CNodeCallback object

Returns
true if the callback handle was valid
virtual EAccessMode GENAPI_NAMESPACE::CNodeImpl::InternalGetAccessMode ( ) const
protectedvirtual
EAccessMode GENAPI_NAMESPACE::CNodeImpl::InternalGetAccessMode ( IBase pValue) const
protected

Default implementation of GetAccessMode taking into account another node.

virtual ECachingMode GENAPI_NAMESPACE::CNodeImpl::InternalGetCachingMode ( ) const
protectedvirtual
virtual void GENAPI_NAMESPACE::CNodeImpl::InternalGetChildren ( GENAPI_NAMESPACE::NodeList_t Children,
ELinkType  LinkType 
) const
protectedvirtual

Get all children of the node.

virtual GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::InternalGetDescription ( ) const
protectedvirtual

Get a long description of the node.

virtual GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::InternalGetDeviceName ( ) const
protectedvirtual

Get a name of the device.

virtual GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::InternalGetDisplayName ( ) const
protectedvirtual
virtual GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::InternalGetDocuURL ( ) const
protectedvirtual

Gets a URL pointing to the documentation of that feature.

virtual GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::InternalGetName ( bool  FullQualified = false) const
protectedvirtual

Get node name.

virtual GENAPI_NAMESPACE::ENameSpace GENAPI_NAMESPACE::CNodeImpl::InternalGetNameSpace ( ) const
protectedvirtual

Get name space.

virtual INodeMap* GENAPI_NAMESPACE::CNodeImpl::InternalGetNodeMap ( ) const
protectedvirtual

Retrieves the node map.

virtual int64_t GENAPI_NAMESPACE::CNodeImpl::InternalGetPollingTime ( ) const
protectedvirtual

recommended polling time (for not cachable nodes)

virtual EInterfaceType GENAPI_NAMESPACE::CNodeImpl::InternalGetPrincipalInterfaceType ( ) const
inlineprotectedvirtual
virtual GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::InternalGetToolTip ( ) const
protectedvirtual

Get a short description of the node.

virtual EVisibility GENAPI_NAMESPACE::CNodeImpl::InternalGetVisibility ( ) const
protectedvirtual

Get the recommended visibility of the node.

virtual void GENAPI_NAMESPACE::CNodeImpl::InternalInvalidateNode ( std::list< CNodeCallback * > &  CallbacksToFire)
protectedvirtual
virtual EYesNo GENAPI_NAMESPACE::CNodeImpl::InternalIsAccessModeCacheable ( ) const
protectedvirtual

True if the AccessMode can be cached.

Reimplemented in GENAPI_NAMESPACE::CEnumerationImpl.

virtual bool GENAPI_NAMESPACE::CNodeImpl::InternalIsCachable ( ) const
protectedvirtual

Is the node value cachable.

virtual bool GENAPI_NAMESPACE::CNodeImpl::InternalIsDeprecated ( ) const
protectedvirtual

True if the node should not be used any more.

virtual bool GENAPI_NAMESPACE::CNodeImpl::InternalIsValueCacheValid ( ) const
protectedvirtual

Checks if the value comes from cache or is requested from another node.

Reimplemented in GENAPI_NAMESPACE::CEnumerationImpl, GENAPI_NAMESPACE::CBooleanImpl, and GENAPI_NAMESPACE::CStringNodeImpl.

virtual CallbackHandleType GENAPI_NAMESPACE::CNodeImpl::InternalRegisterCallback ( CNodeCallback pCallback)
protectedvirtual

Register change callback.

Takes ownership of the CNodeCallback object

bool GENAPI_NAMESPACE::CNodeImpl::IsAccessModeCached ( ) const
inlineprotected

returns true, if the AccessModeCache is valid

Handles silently the cycle breaker

Definition at line 215 of file Node.h.

virtual bool GENAPI_NAMESPACE::CNodeImpl::IsFeature ( ) const
protectedvirtual

True if the node can be reached via category nodes from a category node named "Std::Root".

virtual bool GENAPI_NAMESPACE::CNodeImpl::IsSelector ( ) const
virtual
virtual bool GENAPI_NAMESPACE::CNodeImpl::IsStreamable ( ) const
protectedvirtual

True if the node is streamable.

virtual bool GENAPI_NAMESPACE::CNodeImpl::IsTerminalNode ( ) const
virtual
virtual bool GENAPI_NAMESPACE::CNodeImpl::Poll ( int64_t  ElapsedTime)
virtual
void GENAPI_NAMESPACE::CNodeImpl::PostSetValue ( std::list< CNodeCallback * > &  CallbacksToFire)
protected

Fires callback on all nodes which became affected by a SetValue call into the node tree.

void GENAPI_NAMESPACE::CNodeImpl::PreSetValue ( )
protected

Invalidates all nodes which will become affected by a SetValue call into the node tree.

virtual void GENAPI_NAMESPACE::CNodeImpl::SetInvalid ( ESetInvalidMode  simMode)
virtual
void GENAPI_NAMESPACE::CNodeImpl::SetParent ( INodePrivate pParent)
inline

Sets a parent : CAVE : for internal use only...

Definition at line 266 of file Node.h.

virtual void GENAPI_NAMESPACE::CNodeImpl::SetProperty ( CProperty &  Property)
virtual
UserData_t GENAPI_NAMESPACE::CNodeImpl::SetUserData ( UserData_t  userdata)
private

Member Data Documentation

EAccessMode GENAPI_NAMESPACE::CNodeImpl::m_AccessModeCache
mutableprotected

cache access mode

Definition at line 505 of file Node.h.

EYesNo GENAPI_NAMESPACE::CNodeImpl::m_AccessModeCacheability
mutableprotected

indicates if the AccessMode is cacheable

Definition at line 522 of file Node.h.

NodePrivateVector_t GENAPI_NAMESPACE::CNodeImpl::m_AllDependingNodes
protected

All directly or indirectly connected nodes which are invalidated by this nodes (i.e. which are dependent on this node) For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies.

Definition at line 487 of file Node.h.

NodePrivateVector_t GENAPI_NAMESPACE::CNodeImpl::m_AllTerminalNodes
protected

All indirectly connected terminal nodes For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies.

Definition at line 491 of file Node.h.

CBooleanPolyRef GENAPI_NAMESPACE::CNodeImpl::m_BlockPolling
protected

Reference to a Node, which indicates if the node is not cached.

Definition at line 403 of file Node.h.

ECachingMode GENAPI_NAMESPACE::CNodeImpl::m_CachingMode
mutableprotected

indicates that the node has changed

Definition at line 415 of file Node.h.

ECachingMode GENAPI_NAMESPACE::CNodeImpl::m_CachingModeCache
mutableprotected

stores the cached value of the CachingMode

Definition at line 502 of file Node.h.

std::list<CNodeCallback*> GENAPI_NAMESPACE::CNodeImpl::m_Callbacks
protected

List of callbacks.

Definition at line 588 of file Node.h.

GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::m_Description
protected

The Description of the node.

Definition at line 388 of file Node.h.

GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::m_DeviceName
protected

The device name of the node tree.

Definition at line 379 of file Node.h.

GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::m_DisplayName
protected

The display name string of the node.

Definition at line 382 of file Node.h.

GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::m_DocuURL
protected

A URL pointing or the documentation of this featrues.

Definition at line 453 of file Node.h.

bool GENAPI_NAMESPACE::CNodeImpl::m_DontDeleteThisCache
protected

indicates that the cache has been filled and should not be cleared at the end of the operation

Definition at line 552 of file Node.h.

int64_t GENAPI_NAMESPACE::CNodeImpl::m_ElapsedTime
protected

time elapsed since the last poll

Definition at line 534 of file Node.h.

GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::m_EventID
protected

The EventID.

Definition at line 424 of file Node.h.

EYesNo GENAPI_NAMESPACE::CNodeImpl::m_ExposeStatic
protected

Definition at line 653 of file Node.h.

GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::m_Extension
protected

The metadata from the extension.

Definition at line 373 of file Node.h.

EAccessMode GENAPI_NAMESPACE::CNodeImpl::m_ImposedAccessMode
protected

Access mode imposed on the natural access mode of the node.

Definition at line 430 of file Node.h.

EVisibility GENAPI_NAMESPACE::CNodeImpl::m_ImposedVisibility
protected

Visibility imposed to the natural visibility of the node.

Definition at line 433 of file Node.h.

NodePrivateVector_t GENAPI_NAMESPACE::CNodeImpl::m_InvalidatingChildren
protected

All directly connected nodes which invalidate this node For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies.

Definition at line 483 of file Node.h.

NodeList_t GENAPI_NAMESPACE::CNodeImpl::m_Invalidators
protected

List of references to nodes which may invalidate this node.

Definition at line 450 of file Node.h.

CBooleanPolyRef GENAPI_NAMESPACE::CNodeImpl::m_IsAvailable
protected

Reference to a Node, which indicates if the node is available.

Definition at line 397 of file Node.h.

EYesNo GENAPI_NAMESPACE::CNodeImpl::m_IsDeprecated
protected

indicates that the feature should not be used any more

Definition at line 456 of file Node.h.

EYesNo GENAPI_NAMESPACE::CNodeImpl::m_IsFeature
protected

indicates that the node is a feature that is reachable from the Root node via categories

Definition at line 462 of file Node.h.

CBooleanPolyRef GENAPI_NAMESPACE::CNodeImpl::m_IsImplemented
protected

Reference to a Node, which indicates if the node is implemented.

Definition at line 394 of file Node.h.

CBooleanPolyRef GENAPI_NAMESPACE::CNodeImpl::m_IsLocked
protected

Reference to a Node, which indicates if the node is locked (i.e. not writable)

Definition at line 400 of file Node.h.

EYesNo GENAPI_NAMESPACE::CNodeImpl::m_IsStreamable
protected

indicates if the node is streamable

Definition at line 427 of file Node.h.

bool GENAPI_NAMESPACE::CNodeImpl::m_ListOfValidValuesCacheValid
mutableprotected

true if the list of valid value is cached

Definition at line 516 of file Node.h.

GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::m_Name
protected

The name of the node.

Definition at line 370 of file Node.h.

ENameSpace GENAPI_NAMESPACE::CNodeImpl::m_NameSpace
protected

The namespace of the node.

Definition at line 376 of file Node.h.

NodeID_t GENAPI_NAMESPACE::CNodeImpl::m_NodeID
protected

The node's ID.

Definition at line 649 of file Node.h.

CNodeData::ENodeType_t GENAPI_NAMESPACE::CNodeImpl::m_NodeTypeEnum
protected

Definition at line 651 of file Node.h.

GENICAM_NAMESPACE::ILogger* GENAPI_NAMESPACE::CNodeImpl::m_pAccessLog
protected

Logger for messages concerning the AccessMode.

Definition at line 625 of file Node.h.

INode* GENAPI_NAMESPACE::CNodeImpl::m_pAlias
protected

Pointer to a Node, which describes the same feature as this one.

Definition at line 409 of file Node.h.

NodePrivateVector_t GENAPI_NAMESPACE::CNodeImpl::m_Parents
protected

All nodes for which this node is at least a DependecyChild.

Definition at line 471 of file Node.h.

GENICAM_NAMESPACE::ILogger* GENAPI_NAMESPACE::CNodeImpl::m_pCacheLog
protected

Logger for messages concerning the caching access.

Definition at line 637 of file Node.h.

INode* GENAPI_NAMESPACE::CNodeImpl::m_pCastAlias
protected

Pointer to a Node, which describes the same feature as this one so that it can be casted.

Definition at line 412 of file Node.h.

IEnumeration* GENAPI_NAMESPACE::CNodeImpl::m_pError
protected

Pointer to a Error class.

Definition at line 406 of file Node.h.

GENICAM_NAMESPACE::ILogger* GENAPI_NAMESPACE::CNodeImpl::m_pMiscLog
protected

Logger for messages concerning miscellaneous access which does not fit to the other categories.

Definition at line 643 of file Node.h.

INodeMapPrivate* GENAPI_NAMESPACE::CNodeImpl::m_pNodeMap
protected

Pointer to the node map.

Definition at line 531 of file Node.h.

int64_t GENAPI_NAMESPACE::CNodeImpl::m_PollingTime
protected

recommended polling time in [ms]

Definition at line 436 of file Node.h.

GENICAM_NAMESPACE::ILogger* GENAPI_NAMESPACE::CNodeImpl::m_pPortLog
protected

Logger for messages concerning the port access.

Definition at line 634 of file Node.h.

GENICAM_NAMESPACE::ILogger* GENAPI_NAMESPACE::CNodeImpl::m_pPreProcLog
protected

Logger for things done during pre-processing of the node map, e.g. determining dependencies.

Definition at line 640 of file Node.h.

GENICAM_NAMESPACE::ILogger* GENAPI_NAMESPACE::CNodeImpl::m_pRangeLog
protected

Logger for messages concerning the range check.

Definition at line 631 of file Node.h.

ETerminalPropagationState GENAPI_NAMESPACE::CNodeImpl::m_propagationState
protected

Current state for propagating terminals.

Definition at line 447 of file Node.h.

GENICAM_NAMESPACE::gcstring_vector GENAPI_NAMESPACE::CNodeImpl::m_PropertyNames
protected

Helper: A list of all properties belonging to this node.

Definition at line 459 of file Node.h.

UserData_t GENAPI_NAMESPACE::CNodeImpl::m_pUserData
protected

Storage of user defined data. Ownership remains by the user!. Use IUserData interface to access the data.

Definition at line 657 of file Node.h.

GENICAM_NAMESPACE::ILogger* GENAPI_NAMESPACE::CNodeImpl::m_pValueLog
protected

Logger for messages concerning the getting and setting values.

Definition at line 628 of file Node.h.

NodePrivateVector_t GENAPI_NAMESPACE::CNodeImpl::m_ReadingChildren
protected

all nodes which can be read from For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies

Definition at line 475 of file Node.h.

FeatureList_t GENAPI_NAMESPACE::CNodeImpl::m_Selected
protected

List of selected features.

Definition at line 418 of file Node.h.

FeatureList_t GENAPI_NAMESPACE::CNodeImpl::m_Selecting
protected

List of selecting features.

Definition at line 421 of file Node.h.

bool GENAPI_NAMESPACE::CNodeImpl::m_TerminalNodeWritten
protected

indicates that this terminal node was written and not yet invalidated.

Definition at line 555 of file Node.h.

GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CNodeImpl::m_ToolTip
protected

The ToolTip for the node.

Definition at line 385 of file Node.h.

bool GENAPI_NAMESPACE::CNodeImpl::m_ValueCacheValid
mutableprotected

true if the value cache is valid

Definition at line 513 of file Node.h.

NodePrivateVector_t GENAPI_NAMESPACE::CNodeImpl::m_VariableChildren
protected

All node use as variable by this node.

Definition at line 494 of file Node.h.

EVisibility GENAPI_NAMESPACE::CNodeImpl::m_Visibility
protected

recommended visibility;

Definition at line 391 of file Node.h.

NodePrivateVector_t GENAPI_NAMESPACE::CNodeImpl::m_WritingChildren
protected

all nodes which can write a value further down the node stack For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies

Definition at line 479 of file Node.h.

const size_t GENAPI_NAMESPACE::CNodeImpl::MaxPath
staticprivate

Definition at line 681 of file Node.h.


The documentation for this class was generated from the following file:


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Mar 17 2021 02:48:42