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();
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.
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
Standard IRegister implementation Provides a chunk of memory which acts as a proxy to the register...
Definition: Register.h:58
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
interface GENAPI_DECL_ABSTRACT bool Verify
Definition: IBoolean.h:61
virtual void SetProperty(CProperty &Property)
Definition of the BaseT class template.
virtual int64_t InternalGetMaxLength()
Retrieves the maximum length of the string in bytes.
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)
interface GENAPI_DECL_ABSTRACT IString
Interface for string properties.
Definition: IString.h:61
Definition of interface IString.
Part of the generic device API.
Definition: Autovector.h:48
enum GENAPI_NAMESPACE::_EInterfaceType EInterfaceType
typedef for interface type


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Thu Jun 6 2019 19:10:54