Pleora Technologies Inc. eBUS SDK v6.2.8.5877 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 
31 class IPV_DEVICE_ADAPTER_API IPvDeviceAdapter
32 {
33 public:
34 
35  IPvDeviceAdapter() {}
36  virtual ~IPvDeviceAdapter() {}
37 
38  virtual bool IsGenIntegerInNodeMap( const PvString &aParameterName ) = 0;
39  virtual bool IsGenEnumInNodeMap( const PvString &aParameterName ) = 0;
40  virtual bool IsGenBooleanInNodeMap( const PvString &aParameterName ) = 0;
41  virtual bool IsGenRegisterInNodeMap( const PvString &aParameterName ) = 0;
42  virtual bool IsGenReadable( const PvString &aParameterName ) = 0;
43  virtual bool IsGenWritable( const PvString &aParameterName ) = 0;
44  virtual bool IsGenEnumEntryAvailable( const PvString &aParameterName, const PvString &aEnumEntry ) = 0;
45 
46  virtual PvResult GetGenIntegerValue( const PvString &aParameterName, int64_t &aValue ) = 0;
47  virtual PvResult GetGenEnumEntriesAvailable( const PvString &aParameterName, PvStringList &aList ) = 0;
48  virtual PvResult GetGenEnumValue( const PvString &aParameterName, PvString &aEnumEntry ) = 0;
49  virtual PvResult SetGenEnumValue( const PvString &aParameterName, const PvString &aEnumEntry ) = 0;
50  virtual PvResult GetGenBooleanValue( const PvString &aParameterName, bool &aValue ) = 0;
51  virtual PvResult SetGenBooleanValue( const PvString &aParameterName, bool aValue ) = 0;
52  virtual PvResult GetGenStringValue( const PvString &aParameterName, PvString &aValue ) = 0;
53  virtual PvResult GetGenRegisterLength( const PvString &aParameterName, int64_t &aLength ) = 0;
54  virtual PvResult GetGenRegisterData( const PvString &aParameterName, uint8_t *aDataBuffer, int64_t aByteCount ) = 0;
55  virtual PvResult SetGenRegisterData( const PvString &aParameterName, const uint8_t *aDataBuffer, int64_t aByteCount ) = 0;
56 
57  virtual PvResult RegisterGenInvalidator( const PvString &aParameterName ) = 0;
58  virtual PvResult UnregisterGenInvalidator( const PvString &aParameterName ) = 0;
59 
60  virtual PvResult WriteRegister( int64_t aAddress, uint32_t aValue ) = 0;
61  virtual PvResult ReadRegister( int64_t aAddress, uint32_t &aValue ) = 0;
62  virtual PvResult WriteMemory( const uint8_t *aBuffer, int64_t aAddress, int64_t aLength ) = 0;
63  virtual PvResult ReadMemory( uint8_t *aBuffer, int64_t aAddress, int64_t aLength ) = 0;
64 
65  virtual PvResult WaitForMessagingChannelIdle( uint32_t aTimeout ) = 0;
66 
67  virtual bool IsConnected() = 0;
68  virtual bool IsPleoraPowered() = 0;
69  virtual bool IsGigEVision() = 0;
70  virtual bool IsUSB3Vision() = 0;
71 
72  virtual PvResult RegisterEventSink( IPvDeviceEventSink *aEventSink ) = 0;
73  virtual PvResult UnregisterEventSink( IPvDeviceEventSink *aEventSink ) = 0;
74 
75  virtual PvResult GetUniqueID( PvString &aID ) = 0;
76 
77 protected:
78 
79 private:
80 
81 };
82 
83 #endif
String class.
Definition: PvString.h:21
Result information.
Definition: PvResult.h:13
Interface used by a class implementing IPvDeviceAdapter to forward notifications to PvDeviceSerialPor...
Definition: IPvDeviceEventSink.h:14
Class used to hold a group of PvString objects.
Definition: PvStringList.h:19
Interface used by PvDeviceSerialPort to interact with a device controller.
Definition: IPvDeviceAdapter.h:31

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