29 #ifndef GENAPI_IREGISTER_H 30 #define GENAPI_IREGISTER_H 37 # pragma warning ( push ) 38 # pragma warning ( disable : 4251 ) // XXX needs to have dll-interface to be used by clients of class YYY 51 GENICAM_INTERFACE GENAPI_DECL_ABSTRACT
IRegister :
virtual public IValue 59 virtual void Set(
const uint8_t *pBuffer, int64_t Length,
bool Verify =
true) = 0;
68 virtual void Get(uint8_t *pBuffer, int64_t Length,
bool Verify =
false,
bool IgnoreCache =
false) = 0;
71 virtual int64_t
GetLength(
bool Verify =
false ) = 0;
74 virtual int64_t
GetAddress(
bool Verify =
false ) = 0;
82 #ifndef DOXYGEN_IGNORE 90 class CRegisterRefT :
public CValueRefT<T>
92 typedef CValueRefT<T> ref;
100 virtual void Set(
const uint8_t *pBuffer, int64_t Length,
bool Verify =
true)
104 ref::m_Ptr->Set(pBuffer, Length, Verify);
108 virtual void Get(uint8_t *pBuffer, int64_t Length,
bool Verify =
false,
bool IgnoreCache =
false)
112 ref::m_Ptr->Get(pBuffer, Length, Verify, IgnoreCache);
116 virtual int64_t
GetLength(
bool Verify =
false)
120 return ref::m_Ptr->GetLength( Verify );
128 return ref::m_Ptr->GetAddress(Verify);
142 # pragma warning ( pop ) 145 #endif // ifndef GENAPI_IREGISTER_H Common types used in the public GenApi interface.
virtual int64_t GetLength(bool Verify=false)=0
Retrieves the Length of the register [Bytes].
#define ACCESS_EXCEPTION
Fires a access exception, e.g. throw ACCESS_EXCEPTION("Not everybody")
Definition: GCException.h:252
virtual void Get(uint8_t *pBuffer, int64_t Length, bool Verify=false, bool IgnoreCache=false)=0
Fills a buffer with the register's contents.
CRegisterRefT< IRegister > CRegisterRef
Definition: IRegister.h:135
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IValue
Interface for value properties.
Definition: IValue.h:59
declspec's to be used for GenApi Windows dll
Definition of the interface IValue.
Definition: ChunkAdapter.h:37
virtual int64_t GetAddress(bool Verify=false)=0
Retrieves the Address of the register.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IRegister
Interface for registers.
Definition: IRegister.h:59