StringNode.h
Go to the documentation of this file.
1 
2 //-----------------------------------------------------------------------------
3 // (c) 2008 by Basler Vision Technologies
4 // Section: Vision Components
5 // Project: GenApi
6 // Author: Fritz Dierks
7 // $Header$
8 //
9 // License: This file is published under the license of the EMVA GenICam Standard Group.
10 // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
11 // If for some reason you are missing this file please contact the EMVA or visit the website
12 // (http://www.genicam.org) for a full copy.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
15 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
16 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
18 // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
21 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
22 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 // POSSIBILITY OF SUCH DAMAGE.
25 //-----------------------------------------------------------------------------
32 #ifndef GENAPI_STRINGNODE_H
33 #define GENAPI_STRINGNODE_H
34 
35 #include "GenApi/Types.h"
36 #include "GenApi/IString.h"
37 #include "GenApi/impl/BaseT.h"
38 #include "GenApi/impl/ValueT.h"
39 #include "GenApi/impl/NodeT.h"
40 #include "GenApi/impl/StringT.h"
41 #include "GenApi/impl/Node.h"
42 #include "PolyReference.h"
43 
45 namespace GENAPI_NAMESPACE
46 {
47  // *************************************************************
48  // CStringNode class
49  // *************************************************************
51 
52  class CStringNodeImpl : public CNodeImpl, public IString
53  {
54  public:
55  CStringNodeImpl(void);
56 
57 
58  //-------------------------------------------------------------
59  // Implementation of INodePrivate
60  //-------------------------------------------------------------
62  //\{
63  virtual void FinalConstruct();
65  virtual EAccessMode InternalGetAccessMode() const;
67 
68 
71  {
72  return intfIString;
73  }
74 
75  protected:
76  //-------------------------------------------------------------
77  // Implementation of IValue
78  //-------------------------------------------------------------
80  //\{
81  virtual GENICAM_NAMESPACE::gcstring InternalToString(bool Verify = false, bool IgnoreCache = false);
82 
84  virtual void InternalFromString(const GENICAM_NAMESPACE::gcstring& valueString, bool Verify = true);
85 
87  virtual bool InternalIsValueCacheValid() const;
89 
90 
91  //\}
92 
93  //-------------------------------------------------------------
94  // Implementation of IString
95  //-------------------------------------------------------------
97  //\{
98 
99  // Set node value
100  virtual void InternalSetValue(const GENICAM_NAMESPACE::gcstring& Value, bool Verify = true);
101 
102  // Get node value
103  virtual GENICAM_NAMESPACE::gcstring InternalGetValue(bool Verify = false, bool IgnoreCache = false);
104 
106  virtual int64_t InternalGetMaxLength(bool Verfiy = false);
107 
108  //\}
109 
110  public:
111  //-------------------------------------------------------------
112  // Initializing
113  //-------------------------------------------------------------
114 
115 
116  virtual void SetProperty(CProperty &Property);
117  virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const;
118 
119 
120  private:
121 
124  };
125 
126 
127  class CStringNode : public BaseT< ValueT< NodeT< StringT< CStringNodeImpl > > > >
128  {
129  };
130 
131 }
132 
133 #endif // GENAPI_STRINGNODE_H
Definition of the ValueT class template.
virtual bool InternalIsValueCacheValid() const
Checks if the value comes from cache or is requested from another node.
Common types used in the public GenApi interface.
virtual GENICAM_NAMESPACE::gcstring InternalToString(bool Verify=false, bool IgnoreCache=false)
virtual void SetProperty(CProperty &Property)
virtual EAccessMode InternalGetAccessMode() const
Get Caching Mode.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT bool Verify
Definition: IBoolean.h:61
Definition of the NodeT class template.
virtual GENICAM_NAMESPACE::gcstring InternalGetValue(bool Verify=false, bool IgnoreCache=false)
__int64 int64_t
Definition: config-win32.h:21
virtual EInterfaceType InternalGetPrincipalInterfaceType() const
Implementation of IBase::GetPrincipalInterfaceType()
Definition: StringNode.h:70
Implementation of the IBase interface.
Definition: BaseT.h:48
Definition of the NodeT class template.
IString interface.
Definition: Types.h:197
Definition of polymorphical smart pointer.
virtual void InternalFromString(const GENICAM_NAMESPACE::gcstring &valueString, bool Verify=true)
Set value of the node as string.
Definition of the BaseT class template.
Standard implementation for the INode and the ISelector interface.
Definition: Node.h:86
virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const
A string class which is a clone of std::string.
Definition: GCString.h:52
Implements a floating string node.
Definition: StringNode.h:52
enum GENAPI_NAMESPACE::_EAccessMode EAccessMode
access mode of a node
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IString
Interface for string properties.
Definition: IString.h:61
virtual void InternalSetValue(const GENICAM_NAMESPACE::gcstring &Value, bool Verify=true)
Definition of interface IString.
virtual int64_t InternalGetMaxLength(bool Verfiy=false)
Retrieves the maximum length of the string in bytes.
Lexical analyzer for CIntSwissKnife.
Definition: Autovector.h:48
enum GENAPI_NAMESPACE::_EInterfaceType EInterfaceType
typedef for interface type
A reference to a gcstring which can be either a gcstring variable, or a pointer to an IString...
CStringPolyRef m_Value
The Value of the floating node.
Definition: StringNode.h:123


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