StringReg.h
Go to the documentation of this file.
1 
2 //-----------------------------------------------------------------------------
3 // (c) 2006 by Basler Vision Technologies
4 // Section: Vision Components
5 // Project: GenApi
6 // Author: Hartmut Nebelung
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_STRINGREGISTER_H
33 #define GENAPI_STRINGREGISTER_H
34 
35 #include "GenApi/Types.h"
36 #include "GenApi/IString.h"
37 #include "GenApi/impl/Register.h"
38 #include "GenApi/impl/BaseT.h"
39 #include "GenApi/impl/ValueT.h"
40 #include "GenApi/impl/NodeT.h"
41 #include "GenApi/impl/StringT.h"
42 
44 namespace GENAPI_NAMESPACE
45 {
46  // *************************************************************
47  // CStringRegister class
48  // *************************************************************
50 
54  class CStringRegisterImpl : public CRegisterImpl, public IString
55  {
56  public:
57  CStringRegisterImpl(void);
58 
61  {
62  return intfIString;
63  }
64 
65 
66  //-------------------------------------------------------------
67  // Implementation of INodePrivate
68  //-------------------------------------------------------------
70  //\{
71  virtual void FinalConstruct();
72  //\}
73  protected:
74  //-------------------------------------------------------------
75  // Implementation of IValue
76  //-------------------------------------------------------------
78  //\{
79  virtual GENICAM_NAMESPACE::gcstring InternalToString(bool Verify = false, bool IgnoreCache = false);
80 
82  virtual void InternalFromString(const GENICAM_NAMESPACE::gcstring& valueString, bool Verify = true);
83  //\}
84 
85  //-------------------------------------------------------------
86  // Implementation of IString
87  //-------------------------------------------------------------
89  //\{
90 
91  // Set node value
92  virtual void InternalSetValue(const GENICAM_NAMESPACE::gcstring& Value, bool Verify = true);
93 
94  // Get node value
95  virtual GENICAM_NAMESPACE::gcstring InternalGetValue(bool Verify = false, bool IgnoreCache = false);
96 
98  virtual int64_t InternalGetMaxLength( bool Verify = false );
99  //\}
100 
101  public:
102  //-------------------------------------------------------------
103  // Initializing
104  //-------------------------------------------------------------
105 
106 
107  virtual void SetProperty( CProperty &Property );
108  virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const;
109 
110 
111  private:
112  //IInteger* m_pLength_by;
113  };
114 
115 
116  class CStringRegister : public BaseT< ValueT< NodeT< StringT< RegisterT< CStringRegisterImpl > > > > >
117  {
118  };
119 
120 }
121 
122 #endif // GENAPI_STRINGREGISTER_H
Definition of the ValueT class template.
virtual void InternalFromString(const GENICAM_NAMESPACE::gcstring &valueString, bool Verify=true)
Set value of the node as string.
Common types used in the public GenApi interface.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT bool Verify
Definition: IBoolean.h:61
Definition of CRegister.
Definition of the NodeT class template.
virtual EInterfaceType InternalGetPrincipalInterfaceType() const
Implementation of IBase::GetPrincipalInterfaceType()
Definition: StringReg.h:60
__int64 int64_t
Definition: config-win32.h:21
Implementation of the IBase interface.
Definition: BaseT.h:48
Definition of the NodeT class template.
IString interface.
Definition: Types.h:197
virtual int64_t InternalGetMaxLength(bool Verify=false)
Retrieves the maximum length of the string in bytes.
Standard IRegister implementation Provides a chunk of memory which acts as a proxy to the register...
Definition: Register.h:59
virtual GENICAM_NAMESPACE::gcstring InternalToString(bool Verify=false, bool IgnoreCache=false)
Implements interface IValue (called by IValueT)
virtual void FinalConstruct()
finalizes the construction of the node
virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const
virtual void SetProperty(CProperty &Property)
Definition of the BaseT class template.
virtual GENICAM_NAMESPACE::gcstring InternalGetValue(bool Verify=false, bool IgnoreCache=false)
A string class which is a clone of std::string.
Definition: GCString.h:52
Implements a simple string register.
Definition: StringReg.h:54
virtual void InternalSetValue(const GENICAM_NAMESPACE::gcstring &Value, bool Verify=true)
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IString
Interface for string properties.
Definition: IString.h:61
Definition of interface IString.
Lexical analyzer for CIntSwissKnife.
Definition: Autovector.h:48
enum GENAPI_NAMESPACE::_EInterfaceType EInterfaceType
typedef for interface type


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