Pleora Technologies Inc. eBUS SDK v6.4.0.6670 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 
32 {
33 public:
34 
40  PvDeviceAdapter( PvDevice *aDevice );
41 
45  virtual ~PvDeviceAdapter();
46 
54  bool IsGenIntegerInNodeMap( const PvString &aParameterName );
55 
63  bool IsGenEnumInNodeMap( const PvString &aParameterName );
64 
72  bool IsGenBooleanInNodeMap( const PvString &aParameterName );
73 
81  bool IsGenRegisterInNodeMap( const PvString &aParameterName );
82 
90  bool IsGenReadable( const PvString &aParameterName );
91 
99  bool IsGenWritable( const PvString &aParameterName );
100 
109  bool IsGenEnumEntryAvailable( const PvString &aParameterName, const PvString &aEnumEntry );
110 
119  PvResult GetGenIntegerValue( const PvString &aParameterName, int64_t &aValue );
120 
129  PvResult GetGenEnumEntriesAvailable( const PvString &aParameterName, PvStringList &aList );
130 
139  PvResult GetGenEnumValue( const PvString &aParameterName, PvString &aEnumEntry );
140 
149  PvResult SetGenEnumValue( const PvString &aParameterName, const PvString &aEnumEntry );
150 
159  PvResult GetGenBooleanValue( const PvString &aParameterName, bool &aValue );
160 
169  PvResult SetGenBooleanValue( const PvString &aParameterName, bool aValue );
170 
179  PvResult GetGenStringValue( const PvString &aParameterName, PvString &aValue );
180 
189  PvResult GetGenRegisterLength( const PvString &aParameterName, int64_t &aLength );
190 
200  PvResult GetGenRegisterData( const PvString &aParameterName, uint8_t *aDataBuffer, int64_t aByteCount );
201 
211  PvResult SetGenRegisterData( const PvString &aParameterName, const uint8_t *aDataBuffer, int64_t aByteCount );
212 
220  PvResult RegisterGenInvalidator( const PvString &aParameterName );
221 
229  PvResult UnregisterGenInvalidator( const PvString &aParameterName );
230 
239  PvResult WriteRegister( int64_t aAddress, uint32_t aValue );
240 
249  PvResult ReadRegister( int64_t aAddress, uint32_t &aValue );
250 
260  PvResult WriteMemory( const uint8_t *aBuffer, int64_t aAddress, int64_t aLength );
261 
271  PvResult ReadMemory( uint8_t *aBuffer, int64_t aAddress, int64_t aLength );
272 
280  PvResult WaitForMessagingChannelIdle( uint32_t aTimeout );
281 
287  bool IsConnected();
288 
294  bool IsPleoraPowered();
295 
301  bool IsGigEVision();
302 
308  bool IsUSB3Vision();
309 
317  PvResult RegisterEventSink( IPvDeviceEventSink *aEventSink );
318 
326  PvResult UnregisterEventSink( IPvDeviceEventSink *aEventSink );
327 
338  PvResult GetUniqueID( PvString &aID );
339 
340 protected:
341 
353  void OnEvent( PvDevice *aDevice,
354  uint16_t aEventID, uint16_t aChannel, uint64_t aBlockID, uint64_t aTimestamp,
355  const void *aData, uint32_t aDataLength );
356 
362  void OnParameterUpdate( PvGenParameter *aParameter );
363 
364 private:
365 
366  PvDevice *mDevice;
367 
368  IPvDeviceEventSinkList *mEventSinkList;
369  PtUtilsLib::Mutex *mEventSinkListMutex;
370 
371 };
372 
373 #endif
String class.
Definition: PvString.h:25
Result information.
Definition: PvResult.h:29
Interface used by a class implementing IPvDeviceAdapter to forward notifications to PvDeviceSerialPor...
Definition: IPvDeviceEventSink.h:26
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:517
Base class for all GenICam feature types.
Definition: PvGenParameter.h:43
IPvDeviceAdapter default implementation for the eBUS SDK.
Definition: PvDeviceAdapter.h:31
Interface used by PvDeviceSerialPort to interact with a device controller.
Definition: IPvDeviceAdapter.h:48
Observer interface for an observable PvDevice object.
Definition: PvDeviceEventSink.h:65
Connect, configure and control a GigE Vision or USB3 Vision device.
Definition: PvDevice.h:41

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