MaskedIntReg.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: Fritz Dierks
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_MASKEDINTREG_H
32 #define GENAPI_MASKEDINTREG_H
33 
34 #include "IntReg.h"
35 
36 
37 namespace GENAPI_NAMESPACE
38 {
39  //*************************************************************
40  // CMaskedIntReg class
41  //*************************************************************
42 
44 
47  {
48  public:
51 
54  {
55  return intfIInteger;
56  }
57 
58  //-------------------------------------------------------------
59  // INodePrivate implementation
60  //-------------------------------------------------------------
61 
62 
64  virtual void FinalConstruct();
65 
66  //-------------------------------------------------------------
67  // IRegister implementation
68  //-------------------------------------------------------------
69 
71  virtual int64_t InternalGetLength( bool Verify = false );
72 
73 
74  //-------------------------------------------------------------
75  // IInteger implementation
76  //-------------------------------------------------------------
77 
78  protected:
80  virtual void InternalSetValue(int64_t Value, bool Verify = true);
81 
82 
84  virtual int64_t InternalGetValue(bool Verify = false, bool IgnoreCache = false);
85 
86  public:
87 
88 
89  //-------------------------------------------------------------
90  // Initializing
91  //-------------------------------------------------------------
92 
93 
94  virtual void SetProperty( CProperty &Property );
95  virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const;
96 
97  protected:
98  //-------------------------------------------------------------
99  // Memeber variables
100  //-------------------------------------------------------------
102  uint32_t m_LSB;
103 
105  uint32_t m_LSB_property;
106 
108  uint32_t m_MSB;
109 
111  uint32_t m_MSB_property;
112 
114  uint64_t m_Mask;
115 
116  };
117 
119  : public BaseT< ValueT< NodeT < IntegerT< RegisterT< CMaskedIntRegImpl> > > > >
120  {
121  };
122 
123 }
124 
125 #endif // GENAPI_MASKEDINTREG_H
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT bool Verify
Definition: IBoolean.h:61
virtual int64_t InternalGetLength(bool Verify=false)
Retrieves the Length of the register [Bytes].
__int64 int64_t
Definition: config-win32.h:21
uint32_t m_LSB
least significant bit of the integer with respect to the register
Definition: MaskedIntReg.h:102
Implementation of the IBase interface.
Definition: BaseT.h:48
virtual void InternalSetValue(int64_t Value, bool Verify=true)
Set feature value.
uint32_t m_LSB_property
the property belonging to m_LSB
Definition: MaskedIntReg.h:105
IInteger implementation for a register.
Definition: IntReg.h:55
virtual EInterfaceType InternalGetPrincipalInterfaceType() const
Implementation of IBase::GetPrincipalInterfaceType()
Definition: MaskedIntReg.h:53
uint64_t m_Mask
Mask with 1 were the integer is located; 0 otherwise.
Definition: MaskedIntReg.h:114
Definition of CIntReg.
IInteger implementation for a masked register.
Definition: MaskedIntReg.h:46
virtual void FinalConstruct()
Initializes the object.
IInteger interface.
Definition: Types.h:193
uint32_t m_MSB
most significant bit of the integer with respect to the register
Definition: MaskedIntReg.h:108
virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const
virtual void SetProperty(CProperty &Property)
virtual int64_t InternalGetValue(bool Verify=false, bool IgnoreCache=false)
Get feature value.
uint32_t m_MSB_property
the property belonging to m_MSB
Definition: MaskedIntReg.h:111
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:40