31 #ifndef GENAPI_NODEMAPREF_H 32 #define GENAPI_NODEMAPREF_H 53 return dynamic_cast<IDestroy *
>(pNodeMap);
66 template<
class TCameraParams>
145 virtual bool _ParseSwissKnifes( GENICAM_NAMESPACE::gcstring_vector *pErrorList = NULL )
const;
161 template<
class TCameraParams>
169 template<
class TCameraParams>
176 Attach(pNodeMap, DeviceName, pNodeMap ?
new int(0) : NULL);
179 template<
class TCameraParams>
190 template<
class TCameraParams>
194 assert(
_Ptr == NULL);
216 TCameraParams::_Initialize(
_Ptr);
222 template<
class TCameraParams>
240 assert(*pRefCount > 0);
262 template<
class TCameraParams>
269 Attach(pNodeMap, pNodeMap->GetDeviceName(),
new int(0));
275 template<
class TCameraParams>
283 template<
class TCameraParams>
289 template<
class TCameraParams>
296 template<
class TCameraParams>
310 template<
class TCameraParams>
324 template<
class TCameraParams>
340 template<
class TCameraParams>
353 template<
class TCameraParams>
365 template<
class TCameraParams>
379 template<
class TCameraParams>
385 template<
class TCameraParams>
389 return _Ptr->GetDeviceName();
394 template<
class TCameraParams>
398 return _Ptr->Poll(ElapsedTime);
403 template<
class TCameraParams>
407 return _Ptr->GetNodes(Nodes);
412 template<
class TCameraParams>
416 return _Ptr->GetNode(key);
421 template<
class TCameraParams>
425 return _Ptr->InvalidateNodes();
430 template<
class TCameraParams>
435 ret =
_Ptr->ParseSwissKnifes(pErrorList);
441 template<
class TCameraParams>
445 return _Ptr->Connect(pPort, PortName);
450 template<
class TCameraParams>
454 return _Ptr->Connect(pPort);
460 template<
class TCameraParams>
521 #endif // ifndef GENAPI_NODEMAPPTR_H The node map factory is used for creating node maps from camera description files.
void _LoadXMLFromFile(const GENICAM_NAMESPACE::gcstring &FileName)
Creates the object from a XML file with given file name.
virtual INode * _GetNode(const GENICAM_NAMESPACE::gcstring &key) const
Retrieves the node from the central map by name.
virtual void _Poll(int64_t ElapsedTime)
Fires nodes which have a polling time.
virtual size_t size(void) const
CNodeMapRef(const GENICAM_NAMESPACE::gcstring &DeviceName="Device")
Constructor.
Definition of interface IDestroy.
Empty base class used by class CNodeMapRef as generic template argument.
void AddInjectionData(CNodeMapFactory &injectionData)
Adds a node map factory representing a camera description file to inject.
void _LoadXMLFromFileInject(const GENICAM_NAMESPACE::gcstring &TargetFileName, const GENICAM_NAMESPACE::gcstring &InjectFileName)
Creates the object from a XML target and an inject file with given file name.
Zipped XML camera description file text.
interface GENAPI_DECL_ABSTRACT IPort
Interface for ports.
CNodeMapRef & operator=(INodeMap *pNodeMap)
Assignment of an INodeMap*.
void _Destroy()
Destroys the node map.
CNodeMapRef(const CNodeMapRef &Them)
Copy constructor.
interface GENAPI_DECL_ABSTRACT INodeMap
Interface to access the node map.
static bool ClearCache()
Deletes all preprocessed camera description files from the cache.
GENAPI_DECL IDestroy * CastToIDestroy(INodeMap *pNodeMap)
makes sure the dynamic_cast operator is implemented in the DLL (due to a Linux bug) ...
virtual void _GetNodes(NodeList_t &Nodes) const
Retrieves all nodes in the node map.
#define RUNTIME_EXCEPTION
Fires a runtime exception, e.g. throw RUNTIME_EXCEPTION("buh!")
virtual bool _Connect(IPort *pPort, const GENICAM_NAMESPACE::gcstring &PortName) const
Connects a port to a port node with given name.
central versioning counters
CNodeMapRef(INodeMap *pNodeMap, const GENICAM_NAMESPACE::gcstring &DeviceName="Device")
Constructor.
INodeMap * _Ptr
Pointer to the NodeMap.
node_vector NodeList_t
a list of node references
void _LoadXMLFromStringInject(const GENICAM_NAMESPACE::gcstring &TargetXMLDataconst, const GENICAM_NAMESPACE::gcstring &InjectXMLData)
Creates the object from XML data given in a string with injection.
#define ACCESS_EXCEPTION
Fires a access exception, e.g. throw ACCESS_EXCEPTION("Not everybody")
Smartpointer template for NodeMaps with create function.
virtual void _Initialize(GENAPI_NAMESPACE::INodeMap *)
void _LoadXMLFromString(const GENICAM_NAMESPACE::gcstring &XMLData)
Creates the object from XML data given in a string.
Definition of interface INodeMap.
virtual bool _ParseSwissKnifes(GENICAM_NAMESPACE::gcstring_vector *pErrorList=NULL) const
Parse all Swissknife equations.
virtual GENICAM_NAMESPACE::gcstring _GetDeviceName() const
Get device name.
Definition of the node map factory.
virtual void _InvalidateNodes() const
Invalidates all nodes.
INodeMap * CreateNodeMap(const GENICAM_NAMESPACE::gcstring &DeviceName="Device", bool DoReleaseCameraDescriptionFileData=true)
Creates a node map from the preprocessed memory internal representation of the camera description fil...
void _LoadXMLFromZIPData(const void *zipData, size_t zipSize)
Creates the object from a ZIP'd XML file given in a string.
void _LoadXMLFromZIPFile(const GENICAM_NAMESPACE::gcstring &ZipFileName)
Creates the object from a ZIP'd XML file with given file name.
void Attach(INodeMap *pNodeMap, const GENICAM_NAMESPACE::gcstring &DeviceName, int *pRefCount)
GENICAM_NAMESPACE::gcstring _DeviceName
The name of this device.
Definition of template CPointer.
A string class which is a clone of std::string.
static bool _ClearXMLCache()
Clears the cache of the camera description files.
Portable string implementation.
XML camera description file text.
CNodeMapRef & operator=(const CNodeMapRef &Them)
Assignment.
void GetSupportedSchemaVersions(GENICAM_NAMESPACE::gcstring_vector &SchemaVersions) const
interface GENAPI_DECL_ABSTRACT INode
Interface common to all nodes.
virtual ~CNodeMapRefT()
Destructor.
CNodeMapRefT(const GENICAM_NAMESPACE::gcstring &DeviceName="Device")
Constructor.
CNodeMapRefT & operator=(const CNodeMapRefT &Them)
Assignment.
virtual const char * c_str(void) const
Part of the generic device API.
Smartpointer for NodeMaps with create function.
virtual void _GetSupportedSchemaVersions(GENICAM_NAMESPACE::gcstring_vector &SchemaVersions) const
Gets a list of supported schema versions.
interface GENAPI_DECL_ABSTRACT IDestroy
Interface to destroy an object.