DcamAccessCtrlReg.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: Hartmut Nebelung
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_DCAMACCESSCTRLREG_H
32 #define GENAPI_DCAMACCESSCTRLREG_H
33 #if MSC_VER>1000
34 #pragma once
35 #endif // MSC_VER>1000
36 #include "../IInteger.h"
37 #include "Register.h"
38 #include "IntegerT.h"
39 #include <limits>
40 
41 namespace GENAPI_NAMESPACE
42 {
43 
44  // *************************************************************
45  // CDcamAccessCtrlReg class
46  // *************************************************************
64  {
65  public:
67 
68  protected:
69  //-------------------------------------------------------------
70  // Implementation of IInteger
71  //-------------------------------------------------------------
73  //{
74  // Set feature value
75  virtual void InternalSetValue(int64_t Value, bool Verify = true);
76 
77  // Get feature value
78  virtual int64_t InternalGetValue(bool Verify = false, bool IgnoreCache = false);
79 
80  // Get minimum value allowed
81  virtual int64_t InternalGetMin() const;
82 
83  // Get maximum value allowed
84  virtual int64_t InternalGetMax() const;
85 
86  // Get increment
87  virtual int64_t InternalGetInc() const;
88 
91  {
92  int64_autovector_t list;
93  return list;
94  }
95 
96  // Get recommended representation
98  {
99  return PureNumber;
100  }
101 
102 
105  {
107  }
108 
109  //\}
110  //-------------------------------------------------------------
111  // Implementation of IRegister
112  //-------------------------------------------------------------
114  //\{
115  virtual void InternalSet(const uint8_t *pBuffer, int64_t Length) const;
116  virtual void InternalGet(uint8_t *pBuffer, int64_t Length, bool Verify = false, bool IgnoreCache = false);
117  //\}
118 
119  //-------------------------------------------------------------
120  // Implementation of INode
121  //-------------------------------------------------------------
123  // \{
124  virtual EAccessMode InternalGetAccessMode() const;
125 
128  {
129  return intfIInteger;
130  }
131 
132  //-------------------------------------------------------------
133  // Implementation of INodePrivate
134  //-------------------------------------------------------------
136  // \{
137  virtual void SetProperty(CProperty &Property);
138  virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const;
139  // \}
140 
141  private:
143  //\{
145  uint64_t m_FeatureID;
147  uint16_t m_Timeout_ms;
148  //\}
149  };
150 
151 
152  class CDcamAccessCtrlReg : public BaseT< ValueT< RegisterT< NodeT< IntegerT< CDcamAccessCtrlRegImpl> > > > >
153  {
154  };
155 
156 
157 }
158 
159 #endif // GENAPI_DCAMACCESSCTRLREG_H
virtual GENICAM_NAMESPACE::gcstring InternalGetUnit()
Get the unit.
Definition of CRegister.
Decimal number in an edit control.
Definition: Types.h:94
virtual void InternalSetValue(int64_t Value, bool Verify=true)
virtual EInterfaceType InternalGetPrincipalInterfaceType() const
Implementation of IBase::GetPrincipalInterfaceType()
__int64 int64_t
Definition: config-win32.h:21
virtual int64_t InternalGetMin() const
virtual int64_t InternalGetValue(bool Verify=false, bool IgnoreCache=false)
Implements the IIDC DCAM Access Control Register for Advanced Features.
interface GENAPI_DECL_ABSTRACT IInteger
Interface for integer properties.
Definition: IInteger.h:61
Implementation of the IBase interface.
Definition: BaseT.h:48
uint64_t m_FeatureID
The Feature ID consists of Vendor ID and a advanced feature set unique value.
uint16_t m_Timeout_ms
The Timeout value in microseconds. Zero means infinite.
enum GENAPI_NAMESPACE::_ERepresentation ERepresentation
recommended representation of a node value
Standard IRegister implementation Provides a chunk of memory which acts as a proxy to the register...
Definition: Register.h:58
Vector of integers with reference counting.
Definition: Autovector.h:54
virtual ERepresentation InternalGetRepresentation() const
interface GENAPI_DECL_ABSTRACT bool Verify
Definition: IBoolean.h:61
Definition of the IntegerT class template.
virtual EAccessMode InternalGetAccessMode() const
Get the access mode of the node.
interface GENAPI_DECL_ABSTRACT int64_t int64_t Length
Definition: IPort.h:57
virtual int64_t InternalGetInc() const
virtual void InternalGet(uint8_t *pBuffer, int64_t Length, bool Verify=false, bool IgnoreCache=false)
Retrieves a pointer to a buffer containing the register&#39;s contents.
virtual void SetProperty(CProperty &Property)
A string class which is a clone of std::string.
Definition: GCString.h:52
virtual int64_t InternalGetMax() const
enum GENAPI_NAMESPACE::_EAccessMode EAccessMode
access mode of a node
virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const
IInteger interface.
Definition: Types.h:193
virtual void InternalSet(const uint8_t *pBuffer, int64_t Length) const
int64_autovector_t const InternalGetListOfValidValues()
Get list of valid value.
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