All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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
GENAPI_NAMESPACE::CStringNodeImpl::InternalGetMaxLength
virtual int64_t InternalGetMaxLength(bool Verfiy=false)
Retrieves the maximum length of the string in bytes.
GENAPI_NAMESPACE::intfIString
@ intfIString
IString interface.
Definition: Types.h:196
GENAPI_NAMESPACE
Lexical analyzer for CIntSwissKnife.
Definition: Destructible.h:30
GENAPI_NAMESPACE::EAccessMode
enum GENAPI_NAMESPACE::_EAccessMode EAccessMode
access mode of a node
GENAPI_NAMESPACE::CStringNodeImpl::FinalConstruct
virtual void FinalConstruct()
GENAPI_NAMESPACE::CStringNodeImpl::SetProperty
virtual void SetProperty(CProperty &Property)
StringT.h
Definition of the NodeT class template.
Types.h
Common types used in the public GenApi interface.
PolyReference.h
Definition of polymorphical smart pointer.
GENAPI_NAMESPACE::CStringNodeImpl::InternalGetValue
virtual GENICAM_NAMESPACE::gcstring InternalGetValue(bool Verify=false, bool IgnoreCache=false)
GENAPI_NAMESPACE::CNodeImpl
Standard implementation for the INode and the ISelector interface.
Definition: Node.h:86
GENICAM_NAMESPACE::gcstring
A string class which is a clone of std::string.
Definition: GCString.h:52
GENAPI_NAMESPACE::CStringNodeImpl
Implements a floating string node.
Definition: StringNode.h:52
NodeT.h
Definition of the NodeT class template.
GENAPI_NAMESPACE::CStringNodeImpl::InternalGetAccessMode
virtual EAccessMode InternalGetAccessMode() const
Get Caching Mode.
GENAPI_NAMESPACE::CStringNodeImpl::InternalGetPrincipalInterfaceType
virtual EInterfaceType InternalGetPrincipalInterfaceType() const
Implementation of IBase::GetPrincipalInterfaceType()
Definition: StringNode.h:70
GENAPI_NAMESPACE::CStringNodeImpl::GetProperty
virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const
GENAPI_NAMESPACE::BaseT
Implementation of the IBase interface.
Definition: BaseT.h:48
GENAPI_NAMESPACE::CStringNodeImpl::InternalSetValue
virtual void InternalSetValue(const GENICAM_NAMESPACE::gcstring &Value, bool Verify=true)
GENAPI_NAMESPACE::Verify
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT bool Verify
Definition: IBoolean.h:61
GENAPI_NAMESPACE::EInterfaceType
enum GENAPI_NAMESPACE::_EInterfaceType EInterfaceType
typedef for interface type
GENAPI_NAMESPACE::CStringNodeImpl::InternalFromString
virtual void InternalFromString(const GENICAM_NAMESPACE::gcstring &valueString, bool Verify=true)
Set value of the node as string.
GENAPI_NAMESPACE::CStringNodeImpl::InternalIsValueCacheValid
virtual bool InternalIsValueCacheValid() const
Checks if the value comes from cache or is requested from another node.
BaseT.h
Definition of the BaseT class template.
Node.h
IString.h
Definition of interface IString.
GENAPI_NAMESPACE::IString
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IString
Interface for string properties.
Definition: IString.h:61
int64_t
__int64 int64_t
Definition: config-win32.h:21
GENAPI_NAMESPACE::CStringNode
Definition: StringNode.h:127
GENAPI_NAMESPACE::CStringNodeImpl::m_Value
CStringPolyRef m_Value
The Value of the floating node.
Definition: StringNode.h:123
ValueT.h
Definition of the ValueT class template.
GENAPI_NAMESPACE::CStringNodeImpl::InternalToString
virtual GENICAM_NAMESPACE::gcstring InternalToString(bool Verify=false, bool IgnoreCache=false)
GENAPI_NAMESPACE::CStringNodeImpl::CStringNodeImpl
CStringNodeImpl(void)
GENAPI_NAMESPACE::CStringPolyRef
A reference to a gcstring which can be either a gcstring variable, or a pointer to an IString.
Definition: PolyReference.h:1064


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Dec 4 2024 03:10:12