Pleora Technologies Inc. eBUS SDK v6.2.8.5877 API



PvDeviceAdapter.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2013, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVDEVICEADAPTER_H__
8 #define __PVDEVICEADAPTER_H__
9 
10 #include <IPvDeviceAdapter.h>
11 #include <PvDevice.h>
12 
13 
14 class IPvDeviceEventSinkList;
15 
16 namespace PtUtilsLib
17 {
18  class Mutex;
19 }
20 
21 
23 {
24 public:
25 
26  PvDeviceAdapter( PvDevice *aDevice );
27  virtual ~PvDeviceAdapter();
28 
29  bool IsGenIntegerInNodeMap( const PvString &aParameterName );
30  bool IsGenEnumInNodeMap( const PvString &aParameterName );
31  bool IsGenBooleanInNodeMap( const PvString &aParameterName );
32  bool IsGenRegisterInNodeMap( const PvString &aParameterName );
33  bool IsGenReadable( const PvString &aParameterName );
34  bool IsGenWritable( const PvString &aParameterName );
35  bool IsGenEnumEntryAvailable( const PvString &aParameterName, const PvString &aEnumEntry );
36 
37  PvResult GetGenIntegerValue( const PvString &aParameterName, int64_t &aValue );
38  PvResult GetGenEnumEntriesAvailable( const PvString &aParameterName, PvStringList &aList );
39  PvResult GetGenEnumValue( const PvString &aParameterName, PvString &aEnumEntry );
40  PvResult SetGenEnumValue( const PvString &aParameterName, const PvString &aEnumEntry );
41  PvResult GetGenBooleanValue( const PvString &aParameterName, bool &aValue );
42  PvResult SetGenBooleanValue( const PvString &aParameterName, bool aValue );
43  PvResult GetGenStringValue( const PvString &aParameterName, PvString &aValue );
44  PvResult GetGenRegisterLength( const PvString &aParameterName, int64_t &aLength );
45  PvResult GetGenRegisterData( const PvString &aParameterName, uint8_t *aDataBuffer, int64_t aByteCount );
46  PvResult SetGenRegisterData( const PvString &aParameterName, const uint8_t *aDataBuffer, int64_t aByteCount );
47 
48  PvResult RegisterGenInvalidator( const PvString &aParameterName );
49  PvResult UnregisterGenInvalidator( const PvString &aParameterName );
50 
51  PvResult WriteRegister( int64_t aAddress, uint32_t aValue );
52  PvResult ReadRegister( int64_t aAddress, uint32_t &aValue );
53  PvResult WriteMemory( const uint8_t *aBuffer, int64_t aAddress, int64_t aLength );
54  PvResult ReadMemory( uint8_t *aBuffer, int64_t aAddress, int64_t aLength );
55 
56  PvResult WaitForMessagingChannelIdle( uint32_t aTimeout );
57 
58  bool IsConnected();
59  bool IsPleoraPowered();
60  bool IsGigEVision();
61  bool IsUSB3Vision();
62 
63  PvResult RegisterEventSink( IPvDeviceEventSink *aEventSink );
64  PvResult UnregisterEventSink( IPvDeviceEventSink *aEventSink );
65 
66  PvResult GetUniqueID( PvString &aID );
67 
68 protected:
69 
70  // PvDeviceEventSink
71  void OnEvent( PvDevice *aDevice,
72  uint16_t aEventID, uint16_t aChannel, uint64_t aBlockID, uint64_t aTimestamp,
73  const void *aData, uint32_t aDataLength );
74 
75  // PvGenEventSink
76  void OnParameterUpdate( PvGenParameter *aParameter );
77 
78 private:
79 
80  PvDevice *mDevice;
81 
82  IPvDeviceEventSinkList *mEventSinkList;
83  PtUtilsLib::Mutex *mEventSinkListMutex;
84 
85 };
86 
87 #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
Definition: PvDeviceAdapter.h:16
Class used to hold a group of PvString objects.
Definition: PvStringList.h:19
Observer interface for an observable PvGenParameter object.
Definition: PvGenParameter.h:146
Base class for all GenICam feature types.
Definition: PvGenParameter.h:37
IPvDeviceAdapter default implementation for the eBUS SDK.
Definition: PvDeviceAdapter.h:22
Interface used by PvDeviceSerialPort to interact with a device controller.
Definition: IPvDeviceAdapter.h:31
Observer interface for an observable PvDevice object.
Definition: PvDeviceEventSink.h:17
Connect, configure and control a GigE Vision or USB3 Vision device.
Definition: PvDevice.h:30

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