Implements the IIDC DCAM Access Control Register for Advanced Features. More...
#include <DcamAccessCtrlReg.h>
Public Member Functions | |
CDcamAccessCtrlRegImpl (void) | |
Public Member Functions inherited from GENAPI_NAMESPACE::CRegisterImpl | |
CRegisterImpl () | |
Default Contructor. More... | |
virtual void | FinalConstruct () |
finalizes the construction of the node More... | |
virtual void | SetInvalid (INodePrivate::ESetInvalidMode simMode) |
Initializes the object. More... | |
Public Member Functions inherited from GENAPI_NAMESPACE::CNodeImpl | |
void | add_child (CPropertyID::EProperty_ID_t PropertyID, CProperty &, INodePrivate *pNode) |
void | add_orphan_child (CPropertyID::EProperty_ID_t PropertyID, CProperty &, INodePrivate *pNode) |
INodeMapPrivate * | GetNodeMapPrivate () |
Retrieves the INodeMapPrivate interface. More... | |
void | SetParent (INodePrivate *pParent) |
Sets a parent : CAVE : for internal use only... More... | |
CNodeImpl () | |
Constructor. More... | |
virtual | ~CNodeImpl () |
Destructor. More... | |
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 | 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) |
virtual bool | IsSelector () const |
virtual void | GetSelectedFeatures (FeatureList_t &list) const |
virtual void | GetSelectingFeatures (FeatureList_t &) const |
Protected Member Functions | |
GenApi::IInteger implementation | |
virtual void | InternalSetValue (int64_t Value, bool Verify=true) |
virtual int64_t | InternalGetValue (bool Verify=false, bool IgnoreCache=false) |
virtual int64_t | InternalGetMin () const |
virtual int64_t | InternalGetMax () const |
virtual int64_t | InternalGetInc () const |
int64_autovector_t const | InternalGetListOfValidValues () |
Get list of valid value. More... | |
virtual ERepresentation | InternalGetRepresentation () const |
virtual GENICAM_NAMESPACE::gcstring | InternalGetUnit () |
Get the unit. More... | |
IRegister implementation | |
virtual void | InternalSet (const uint8_t *pBuffer, int64_t Length, bool Verify=true) const |
virtual void | InternalGet (uint8_t *pBuffer, int64_t Length, bool Verify=false, bool IgnoreCache=false) |
Retrieves a pointer to a buffer containing the register's contents. More... | |
INode implementation | |
virtual EAccessMode | InternalGetAccessMode () const |
Get the access mode of the node. More... | |
virtual EInterfaceType | InternalGetPrincipalInterfaceType () const |
Implementation of IBase::GetPrincipalInterfaceType() More... | |
virtual void | SetProperty (CProperty &Property) |
virtual bool | GetProperty (CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const |
Protected Member Functions inherited from GENAPI_NAMESPACE::CRegisterImpl | |
virtual void | InternalFromString (const GENICAM_NAMESPACE::gcstring &valueString, bool Verify=true) |
Set value of the node as string. More... | |
virtual int64_t | InternalGetAddress (bool Verify, bool IgnoreCache) |
Retrieves the Address of the register. More... | |
virtual ECachingMode | InternalGetCachingMode () const |
Get Caching Mode. More... | |
virtual int64_t | InternalGetLength (bool Verify) |
Retrieves the Length of the register [Bytes]. More... | |
virtual void | InternalSet (const uint8_t *pBuffer, int64_t Length, bool Verify=true) |
Set the register's contents. More... | |
virtual GENICAM_NAMESPACE::gcstring | InternalToString (bool Verify=false, bool IgnoreCache=false) |
Implements interface IValue (called by IValueT) More... | |
void | UpdateAddress (bool Verify, bool IgnoreCache) |
Recomputes the Address. More... | |
Protected Member Functions inherited from GENAPI_NAMESPACE::CNodeImpl | |
EAccessMode | InternalGetAccessMode (IBase *pValue) const |
Default implementation of GetAccessMode taking into account another node. More... | |
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 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 INodeMap * | InternalGetNodeMap () 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 INode * | GetAlias () const |
Retrieves the a node which describes the same feature in a different way. More... | |
virtual INode * | GetCastAlias () 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... | |
GENICAM_NAMESPACE::gcstring | GetNodeType () const |
CLock & | GetLock () const |
Acquire central lock. More... | |
Counter & | GetBathometer () 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... | |
void | CacheAccessModeIfPossible (EAccessMode AccessMode) const |
virtual bool | InternalIsValueCacheValid () const |
Checks if the value comes from cache or is requested from another node. More... | |
Private Attributes | |
Node properties | |
uint64_t | m_FeatureID |
The Feature ID consists of Vendor ID and a advanced feature set unique value. More... | |
uint16_t | m_Timeout_ms |
The Timeout value in microseconds. Zero means infinite. More... | |
Additional Inherited Members | |
Protected Types inherited from GENAPI_NAMESPACE::CNodeImpl | |
enum | ETerminalPropagationState { eNotVisited, eBeingVisited, eTerminalPropagationDone } |
States when propagating terminals. More... | |
typedef AutoLock | Lock |
shortcut for the lock type More... | |
Protected Attributes inherited from GENAPI_NAMESPACE::CRegisterImpl | |
EAccessMode | m_AccessMode |
the access mode More... | |
int64_t | m_Address |
Address of the register. More... | |
std::list< CIntegerPolyRef > | m_Addresses |
List of Addresses or pointer to address supplying nodes. More... | |
int64_t | m_AddressValid |
TRue if m_Address is valid. More... | |
std::list< CIntegerOffsetPolyRef > | m_Indexes |
List of Indexes or pointer to address supplying nodes. More... | |
CIntegerPolyRef | m_Length |
Length of the register. More... | |
CPort * | m_pPort |
pointer to Port node providing access to the port More... | |
Protected Attributes inherited from GENAPI_NAMESPACE::CNodeImpl | |
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... | |
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... | |
GENICAM_NAMESPACE::ILogger * | m_pAccessLog |
Logger for messages concerning the AccessMode. More... | |
GENICAM_NAMESPACE::ILogger * | m_pValueLog |
Logger for messages concerning the getting and setting values. More... | |
GENICAM_NAMESPACE::ILogger * | m_pRangeLog |
Logger for messages concerning the range check. More... | |
GENICAM_NAMESPACE::ILogger * | m_pPortLog |
Logger for messages concerning the port access. More... | |
GENICAM_NAMESPACE::ILogger * | m_pCacheLog |
Logger for messages concerning the caching access. More... | |
GENICAM_NAMESPACE::ILogger * | m_pPreProcLog |
Logger for things done during pre-processing of the node map, e.g. determining dependencies. More... | |
GENICAM_NAMESPACE::ILogger * | m_pMiscLog |
Logger for messages concerning miscellaneous access which does not fit to the other categories. 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... | |
IEnumeration * | m_pError |
Pointer to a Error class. More... | |
INode * | m_pAlias |
Pointer to a Node, which describes the same feature as this one. More... | |
INode * | m_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... | |
INodeMapPrivate * | m_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... | |
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... | |
Implements the IIDC DCAM Access Control Register for Advanced Features.
The Access Control Register is implemented as read-only Register. It is the intention to use its IInteger interface in IsEnabled and IsPresent elements. Accessing it via IInteger::GetValue method writes the feature identifier into the register and then checks whether it is locked or not.
Currently there is no distinction between node locked and and unlocked features.
Definition at line 63 of file DcamAccessCtrlReg.h.
GENAPI_NAMESPACE::CDcamAccessCtrlRegImpl::CDcamAccessCtrlRegImpl | ( | void | ) |
|
protectedvirtual |
Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.
|
protectedvirtual |
Retrieves a pointer to a buffer containing the register's contents.
Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.
|
protectedvirtual |
Get the access mode of the node.
Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.
|
protectedvirtual |
|
inlineprotected |
Get list of valid value.
Definition at line 90 of file DcamAccessCtrlReg.h.
|
protectedvirtual |
|
protectedvirtual |
|
inlineprotectedvirtual |
Implementation of IBase::GetPrincipalInterfaceType()
Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.
Definition at line 127 of file DcamAccessCtrlReg.h.
|
inlineprotectedvirtual |
Definition at line 97 of file DcamAccessCtrlReg.h.
|
inlineprotectedvirtual |
Get the unit.
Definition at line 104 of file DcamAccessCtrlReg.h.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.
|
private |
The Feature ID consists of Vendor ID and a advanced feature set unique value.
Definition at line 145 of file DcamAccessCtrlReg.h.
|
private |
The Timeout value in microseconds. Zero means infinite.
Definition at line 147 of file DcamAccessCtrlReg.h.