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

#include <IEEE1212Parser.h>

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

Public Types

typedef uint8_t Key_t
 

Public Member Functions

 CIEEE1212ParserImpl (void)
 
void FinalConstruct ()
 finalizes the construction of the node More...
 
uint8_t * GetBuffer ()
 Gets the buffer; if required (re-)allocates memory. More...
 
bool GetDescriptor (uint8_t Key, GENICAM_NAMESPACE::gcstring &Value)
 
bool GetValue (uint8_t Key, uint64_t &Value)
 
 ~CIEEE1212ParserImpl (void)
 
- Public Member Functions inherited from GENAPI_NAMESPACE::CRegisterImpl
 CRegisterImpl ()
 Default Contructor. 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)
 
INodeMapPrivateGetNodeMapPrivate ()
 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 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

virtual void InternalGet (uint8_t *, int64_t, bool Verify=false, bool IgnoreCache=false)
 Retrieves a pointer to a buffer containing the register's contents. More...
 
virtual EInterfaceType InternalGetPrincipalInterfaceType () const
 Implementation of IBase::GetPrincipalInterfaceType() More...
 
virtual GENICAM_NAMESPACE::gcstring InternalToString (bool Verify=false, bool IgnoreCache=false)
 Get value of the node as string. More...
 
virtual bool IsTerminalNode () const
 
INode implementation
virtual void SetProperty (CProperty &Property)
 
virtual bool GetProperty (CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const
 
virtual void SetInvalid (INodePrivate::ESetInvalidMode simMode)
 Initializes the object. More...
 
- 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 EAccessMode InternalGetAccessMode () const
 Get the access mode of the node. 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...
 
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 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...
 
GENICAM_NAMESPACE::gcstring GetNodeType () const
 
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...
 
void CacheAccessModeIfPossible (EAccessMode AccessMode) const
 
virtual bool InternalIsValueCacheValid () const
 Checks if the value comes from cache or is requested from another node. More...
 

Private Types

typedef std::map< Key_t, GENICAM_NAMESPACE::gcstringDescriptorMap_t
 map type for textual descriptors More...
 
typedef std::map< Key_t, uint32_t > ValueMap_t
 

Private Member Functions

bool CheckAddressRange (void *pv) const
 
bool CheckIdentity () const
 
bool InsertValues (uint32_t *q, bool lookup, Key_t key)
 
uint32_t * LocateUnitDirectory (uint32_t *pInstance, Key_t key=0xD1)
 
bool ParseConfRom (Key_t)
 
bool ParseDescriptor (uint32_t *p, Key_t key)
 
bool ParseDirectory (uint32_t *p, Key_t searchkey, Key_t mapkey)
 
bool ParseRootDirectory (uint32_t *p, Key_t key)
 
bool ParseUnitDependentDirectory (uint32_t *p, Key_t key)
 
bool ParseUnitDirectory (uint32_t *p, Key_t key)
 

Static Private Member Functions

static uint64_t UnitIdentifier (const uint32_t BusInfo[])
 

Private Attributes

uint32_t m_CharSet
 0 = minimal ascii (default) More...
 
DescriptorMap_t m_DescMap
 Map with strings found. More...
 
uint64_t m_Identity
 Unit Identifier. More...
 
uint32_t m_Language
 0 = English (default) More...
 
uint8_t * m_pBuffer
 Buffer the register's content is cached in. More...
 
uint32_t * m_pUnitDirectory
 Pointer to the Unit Directory. More...
 
uint32_t m_UnitId
 Unit Specifier Id, assuming uniqueness. More...
 
ValueMap_t m_ValueMap
 Map with numerical values found. 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< CIntegerPolyRefm_Addresses
 List of Addresses or pointer to address supplying nodes. More...
 
int64_t m_AddressValid
 TRue if m_Address is valid. More...
 
std::list< CIntegerOffsetPolyRefm_Indexes
 List of Indexes or pointer to address supplying nodes. More...
 
CIntegerPolyRef m_Length
 Length of the register. More...
 
CPortm_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::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...
 
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...
 
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...
 
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...
 

Detailed Description

Parser for a IEEE1212 compatible configuration rom. Allows readonly access to a single unit.

The Unit property defines which unit is selected in the configuration rom. It defaults to the value for DCAM.

Values and Textual descriptors are cached in separate maps, allowing a fast retrieval. If a change of the connected unit is detected, all caches are invalidated. This class is serves the CTxtkey and CIntKey classes as information provider.

Definition at line 63 of file IEEE1212Parser.h.

Member Typedef Documentation

map type for textual descriptors

Definition at line 118 of file IEEE1212Parser.h.

Definition at line 113 of file IEEE1212Parser.h.

typedef std::map< Key_t, uint32_t > GENAPI_NAMESPACE::CIEEE1212ParserImpl::ValueMap_t
private

Definition at line 116 of file IEEE1212Parser.h.

Constructor & Destructor Documentation

GENAPI_NAMESPACE::CIEEE1212ParserImpl::CIEEE1212ParserImpl ( void  )
GENAPI_NAMESPACE::CIEEE1212ParserImpl::~CIEEE1212ParserImpl ( void  )

Member Function Documentation

bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::CheckAddressRange ( void *  pv) const
private
bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::CheckIdentity ( ) const
private
void GENAPI_NAMESPACE::CIEEE1212ParserImpl::FinalConstruct ( )
virtual

finalizes the construction of the node

Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.

uint8_t* GENAPI_NAMESPACE::CIEEE1212ParserImpl::GetBuffer ( )

Gets the buffer; if required (re-)allocates memory.

bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::GetDescriptor ( uint8_t  Key,
GENICAM_NAMESPACE::gcstring Value 
)
virtual bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::GetProperty ( CNodeDataMap *  pNodeDataMap,
CPropertyID::EProperty_ID_t  PropertyID,
CNodeData::PropertyVector_t &  PropertyList 
) const
protectedvirtual

Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.

bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::GetValue ( uint8_t  Key,
uint64_t &  Value 
)
bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::InsertValues ( uint32_t *  q,
bool  lookup,
Key_t  key 
)
private
virtual void GENAPI_NAMESPACE::CIEEE1212ParserImpl::InternalGet ( uint8_t *  ppBuffer,
int64_t  pLength,
bool  Verify = false,
bool  IgnoreCache = false 
)
protectedvirtual

Retrieves a pointer to a buffer containing the register's contents.

Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.

virtual EInterfaceType GENAPI_NAMESPACE::CIEEE1212ParserImpl::InternalGetPrincipalInterfaceType ( ) const
inlineprotectedvirtual

Implementation of IBase::GetPrincipalInterfaceType()

Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.

Definition at line 74 of file IEEE1212Parser.h.

virtual GENICAM_NAMESPACE::gcstring GENAPI_NAMESPACE::CIEEE1212ParserImpl::InternalToString ( bool  Verify = false,
bool  IgnoreCache = false 
)
protectedvirtual

Get value of the node as string.

Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.

virtual bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::IsTerminalNode ( ) const
protectedvirtual

Reimplemented from GENAPI_NAMESPACE::CNodeImpl.

uint32_t* GENAPI_NAMESPACE::CIEEE1212ParserImpl::LocateUnitDirectory ( uint32_t *  pInstance,
Key_t  key = 0xD1 
)
private
bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::ParseConfRom ( Key_t  )
private
bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::ParseDescriptor ( uint32_t *  p,
Key_t  key 
)
private
bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::ParseDirectory ( uint32_t *  p,
Key_t  searchkey,
Key_t  mapkey 
)
private
bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::ParseRootDirectory ( uint32_t *  p,
Key_t  key 
)
private
bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::ParseUnitDependentDirectory ( uint32_t *  p,
Key_t  key 
)
private
bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::ParseUnitDirectory ( uint32_t *  p,
Key_t  key 
)
private
virtual void GENAPI_NAMESPACE::CIEEE1212ParserImpl::SetInvalid ( INodePrivate::ESetInvalidMode  simMode)
protectedvirtual

Initializes the object.

Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.

virtual void GENAPI_NAMESPACE::CIEEE1212ParserImpl::SetProperty ( CProperty &  Property)
protectedvirtual

Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.

static uint64_t GENAPI_NAMESPACE::CIEEE1212ParserImpl::UnitIdentifier ( const uint32_t  BusInfo[])
staticprivate

Member Data Documentation

uint32_t GENAPI_NAMESPACE::CIEEE1212ParserImpl::m_CharSet
private

0 = minimal ascii (default)

Definition at line 137 of file IEEE1212Parser.h.

DescriptorMap_t GENAPI_NAMESPACE::CIEEE1212ParserImpl::m_DescMap
private

Map with strings found.

Definition at line 148 of file IEEE1212Parser.h.

uint64_t GENAPI_NAMESPACE::CIEEE1212ParserImpl::m_Identity
private

Unit Identifier.

Definition at line 139 of file IEEE1212Parser.h.

uint32_t GENAPI_NAMESPACE::CIEEE1212ParserImpl::m_Language
private

0 = English (default)

Definition at line 138 of file IEEE1212Parser.h.

uint8_t* GENAPI_NAMESPACE::CIEEE1212ParserImpl::m_pBuffer
private

Buffer the register's content is cached in.

Definition at line 151 of file IEEE1212Parser.h.

uint32_t* GENAPI_NAMESPACE::CIEEE1212ParserImpl::m_pUnitDirectory
private

Pointer to the Unit Directory.

Definition at line 142 of file IEEE1212Parser.h.

uint32_t GENAPI_NAMESPACE::CIEEE1212ParserImpl::m_UnitId
private

Unit Specifier Id, assuming uniqueness.

Definition at line 136 of file IEEE1212Parser.h.

ValueMap_t GENAPI_NAMESPACE::CIEEE1212ParserImpl::m_ValueMap
private

Map with numerical values found.

Definition at line 145 of file IEEE1212Parser.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:41