Pleora Technologies Inc. eBUS SDK v6.4.0.6670 API



IPvDeviceAdapter.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2013, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __IPVDEVICEADAPTER_H__
8 #define __IPVDEVICEADAPTER_H__
9 
10 #include <PvTypes.h>
11 #include <PvString.h>
12 #include <PvResult.h>
13 
14 #include <PvStringList.h>
15 #include <IPvDeviceEventSink.h>
16 
17 
18 // If implementing your own IPvDeviceAdapter, #define PV_CUSTOM_DEVICE_ADAPTER
19 // in order to prevent DLL-import of IPvDeviceAdapter
20 #if defined( WIN32 ) && !defined( PT_LIB_STATIC ) && !defined( PV_CUSTOM_DEVICE_ADAPTER )
21  #if defined( PV_DEVICE_EXPORTS )
22  #define IPV_DEVICE_ADAPTER_API __declspec( dllexport )
23  #else
24  #define IPV_DEVICE_ADAPTER_API __declspec( dllimport )
25  #endif
26 #else
27  #define IPV_DEVICE_ADAPTER_API
28 #endif
29 
30 
48 class IPV_DEVICE_ADAPTER_API IPvDeviceAdapter
49 {
50 public:
51 
52  IPvDeviceAdapter() {}
53  virtual ~IPvDeviceAdapter() {}
54 
62  virtual bool IsGenIntegerInNodeMap( const PvString &aParameterName ) = 0;
63 
71  virtual bool IsGenEnumInNodeMap( const PvString &aParameterName ) = 0;
72 
80  virtual bool IsGenBooleanInNodeMap( const PvString &aParameterName ) = 0;
81 
89  virtual bool IsGenRegisterInNodeMap( const PvString &aParameterName ) = 0;
90 
98  virtual bool IsGenReadable( const PvString &aParameterName ) = 0;
99 
107  virtual bool IsGenWritable( const PvString &aParameterName ) = 0;
108 
117  virtual bool IsGenEnumEntryAvailable( const PvString &aParameterName, const PvString &aEnumEntry ) = 0;
118 
127  virtual PvResult GetGenIntegerValue( const PvString &aParameterName, int64_t &aValue ) = 0;
128 
137  virtual PvResult GetGenEnumEntriesAvailable( const PvString &aParameterName, PvStringList &aList ) = 0;
138 
147  virtual PvResult GetGenEnumValue( const PvString &aParameterName, PvString &aEnumEntry ) = 0;
148 
157  virtual PvResult SetGenEnumValue( const PvString &aParameterName, const PvString &aEnumEntry ) = 0;
158 
167  virtual PvResult GetGenBooleanValue( const PvString &aParameterName, bool &aValue ) = 0;
168 
177  virtual PvResult SetGenBooleanValue( const PvString &aParameterName, bool aValue ) = 0;
178 
187  virtual PvResult GetGenStringValue( const PvString &aParameterName, PvString &aValue ) = 0;
188 
197  virtual PvResult GetGenRegisterLength( const PvString &aParameterName, int64_t &aLength ) = 0;
198 
208  virtual PvResult GetGenRegisterData( const PvString &aParameterName, uint8_t *aDataBuffer, int64_t aByteCount ) = 0;
209 
219  virtual PvResult SetGenRegisterData( const PvString &aParameterName, const uint8_t *aDataBuffer, int64_t aByteCount ) = 0;
220 
228  virtual PvResult RegisterGenInvalidator( const PvString &aParameterName ) = 0;
229 
237  virtual PvResult UnregisterGenInvalidator( const PvString &aParameterName ) = 0;
238 
250  virtual PvResult WriteRegister( int64_t aAddress, uint32_t aValue ) = 0;
251 
263  virtual PvResult ReadRegister( int64_t aAddress, uint32_t &aValue ) = 0;
264 
274  virtual PvResult WriteMemory( const uint8_t *aBuffer, int64_t aAddress, int64_t aLength ) = 0;
275 
285  virtual PvResult ReadMemory( uint8_t *aBuffer, int64_t aAddress, int64_t aLength ) = 0;
286 
294  virtual PvResult WaitForMessagingChannelIdle( uint32_t aTimeout ) = 0;
295 
301  virtual bool IsConnected() = 0;
302 
308  virtual bool IsPleoraPowered() = 0;
309 
315  virtual bool IsGigEVision() = 0;
316 
322  virtual bool IsUSB3Vision() = 0;
323 
331  virtual PvResult RegisterEventSink( IPvDeviceEventSink *aEventSink ) = 0;
332 
340  virtual PvResult UnregisterEventSink( IPvDeviceEventSink *aEventSink ) = 0;
341 
351  virtual PvResult GetUniqueID( PvString &aID ) = 0;
352 
353 protected:
354 
355 private:
356 
357 };
358 
359 #endif
PvResult
Result information.
Definition: PvResult.h:29
IPvDeviceEventSink
Interface used by a class implementing IPvDeviceAdapter to forward notifications to PvDeviceSerialPor...
Definition: IPvDeviceEventSink.h:26
IPvDeviceAdapter
Interface used by PvDeviceSerialPort to interact with a device controller.
Definition: IPvDeviceAdapter.h:48
PvString
String class.
Definition: PvString.h:25
PvStringList
Class used to hold a group of PvString objects.
Definition: PvStringList.h:19
PvResult.h

Copyright (c) 2002-2024 Pleora Technologies Inc.
www.pleora.com