INodeMapPrivate.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 // (c) 2006 by Basler Vision Technologies
3 // Section: Vision Components
4 // Project: GenApi
5 // Author: Fritz Dierks
6 // $Header$
7 //
8 // License: This file is published under the license of the EMVA GenICam Standard Group.
9 // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10 // If for some reason you are missing this file please contact the EMVA or visit the website
11 // (http://www.genicam.org) for a full copy.
12 //
13 // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17 // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 // POSSIBILITY OF SUCH DAMAGE.
24 //-----------------------------------------------------------------------------
31 #ifndef GENAPI_INODEMAPPRIVATE_H
32 #define GENAPI_INODEMAPPRIVATE_H
33 
34 #include "Base/GCBase.h"
35 #include "Exception.h"
36 #include "../Synch.h"
37 #include "../Counter.h"
38 #include "../INodeMap.h"
39 #include "INodePrivate.h"
40 
41 #ifdef _MSC_VER
42 # pragma warning ( push )
43 # pragma warning ( disable : 4251 ) // XXX needs to have dll-interface to be used by clients of class YYY
44 #endif
45 
46 class CProperty;
47 
48 namespace GENAPI_NAMESPACE
49 {
54  GENICAM_INTERFACE GENAPI_DECL_ABSTRACT INodeMapPrivate : virtual public INodeMap
55  {
56  /**** Methods to create the node map ****/
57 
59  virtual void RegisterNode(INodePrivate* pNode, CNodeData::ENodeType_t NodeType, NodeID_t NodeID) = 0;
60 
62  virtual void FinalConstruct(bool DetermineDependencies) = 0;
63 
65  virtual void SetNumNodes(size_t NumNodes) = 0;
66 
68  virtual INodePrivate* GetNodeByID(NodeID_t NodeID) = 0;
69 
71  virtual void SetProperty(CProperty &Property) = 0;
72 
74  virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const = 0;
75 
76  /**** Methods to handle the call stack at run-time ****/
77 
79  virtual Counter& GetBathometer() = 0;
80 
82  virtual void SetEntryPoint( EMethod EntryMethod, const INodePrivate *pEntryNode, bool IgnoreCache ) = 0;
83 
85  virtual void ResetEntryPoint() = 0;
86 
88 
91 
92  /**** Miscellaneous****/
93 
95  virtual bool IsGenApiLoggingEnabled() = 0;
96 
98  virtual bool IsGenApiDeviceLoggingEnabled() = 0;
99  };
100 
101 }
102 
103 #ifdef _MSC_VER
104 # pragma warning ( pop )
105 #endif
106 
107 #endif // ifndef GENAPI_INODEMAPPROVATE_H
#define GENICAM_INTERFACE
Definition: GenICamFwd.h:33
virtual Counter & GetBathometer()=0
Returns the object which counts the depth of SetValue() call-chains.
virtual GENICAM_NAMESPACE::gcstring GetEntryPoint()=0
Returns the node and the method the client call has entered the node map.
virtual void SetProperty(CProperty &Property)=0
Sets a property to the node map itself.
virtual bool IsGenApiDeviceLoggingEnabled()=0
Indicates if the GenApi.Device logging is enabled.
virtual void SetEntryPoint(EMethod EntryMethod, const INodePrivate *pEntryNode, bool IgnoreCache)=0
Sets the node and the method the client call has entered the node map.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT INodeMapPrivate
NodeMap functions used for initialization.
GENICAM_INTERFACE INodePrivate
Interface including the methods for node construction common to all nodes.
Definition: INodePrivate.h:54
virtual INodePrivate * GetNodeByID(NodeID_t NodeID)=0
Retrieves t Node given the NodeID.
virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const =0
Retrieves a property from the node map itself.
GENICAM_INTERFACE INodeMap
Interface to access the node map.
Definition: INode.h:52
Common GenICam base include file.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT CNodeData::ENodeType_t NodeID_t NodeID
virtual void SetNumNodes(size_t NumNodes)=0
Presets the number of nodes in order to resize the containers.
EMethod
denotes through which method call the node tree was entered
Definition: Exception.h:40
virtual void ResetEntryPoint()=0
Sets the entry point to undefined.
A string class which is a clone of std::string.
Definition: GCString.h:52
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT CNodeData::ENodeType_t NodeType
virtual bool IsGenApiLoggingEnabled()=0
Indicates if the GenApi logging is enabled.
virtual void FinalConstruct(bool DetermineDependencies)=0
finalizes construction of the node map
Lexical analyzer for CIntSwissKnife.
Definition: Autovector.h:48
Definition of interface INodePrivate.


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