#include <IEEE1212Parser.h>
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) |
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 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 () |
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 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 Types | |
typedef std::map< Key_t, GENICAM_NAMESPACE::gcstring > | DescriptorMap_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< 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. 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. 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... | |
LOG4CPP_NS::Category * | m_pAccessLog |
Logger for messages concerning the AccessMode. More... | |
LOG4CPP_NS::Category * | m_pValueLog |
Logger for messages concerning the getting and setting values. More... | |
LOG4CPP_NS::Category * | m_pRangeLog |
Logger for messages concerning the range check. More... | |
LOG4CPP_NS::Category * | m_pPortLog |
Logger for messages concerning the port access. More... | |
LOG4CPP_NS::Category * | m_pCacheLog |
Logger for messages concerning the caching access. More... | |
LOG4CPP_NS::Category * | m_pPreProcLog |
Logger for things done during pre-processing of the node map, e.g. determining dependencies. More... | |
LOG4CPP_NS::Category * | 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... | |
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... | |
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.
|
private |
map type for textual descriptors
Definition at line 118 of file IEEE1212Parser.h.
typedef uint8_t GENAPI_NAMESPACE::CIEEE1212ParserImpl::Key_t |
Definition at line 113 of file IEEE1212Parser.h.
|
private |
Definition at line 116 of file IEEE1212Parser.h.
GENAPI_NAMESPACE::CIEEE1212ParserImpl::CIEEE1212ParserImpl | ( | void | ) |
GENAPI_NAMESPACE::CIEEE1212ParserImpl::~CIEEE1212ParserImpl | ( | void | ) |
|
private |
|
private |
|
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 | ||
) |
|
protectedvirtual |
Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.
bool GENAPI_NAMESPACE::CIEEE1212ParserImpl::GetValue | ( | uint8_t | Key, |
uint64_t & | Value | ||
) |
|
private |
|
protectedvirtual |
Retrieves a pointer to a buffer containing the register's contents.
Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.
|
inlineprotectedvirtual |
Implementation of IBase::GetPrincipalInterfaceType()
Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.
Definition at line 74 of file IEEE1212Parser.h.
|
protectedvirtual |
Get value of the node as string.
Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.
|
protectedvirtual |
Reimplemented from GENAPI_NAMESPACE::CNodeImpl.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
protectedvirtual |
Initializes the object.
Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.
|
protectedvirtual |
Reimplemented from GENAPI_NAMESPACE::CRegisterImpl.
|
staticprivate |
|
private |
0 = minimal ascii (default)
Definition at line 137 of file IEEE1212Parser.h.
|
private |
Map with strings found.
Definition at line 148 of file IEEE1212Parser.h.
|
private |
Unit Identifier.
Definition at line 139 of file IEEE1212Parser.h.
|
private |
0 = English (default)
Definition at line 138 of file IEEE1212Parser.h.
|
private |
Buffer the register's content is cached in.
Definition at line 151 of file IEEE1212Parser.h.
|
private |
Pointer to the Unit Directory.
Definition at line 142 of file IEEE1212Parser.h.
|
private |
Unit Specifier Id, assuming uniqueness.
Definition at line 136 of file IEEE1212Parser.h.
|
private |
Map with numerical values found.
Definition at line 145 of file IEEE1212Parser.h.