Pleora Technologies Inc. eBUS SDK v6.4.0.6670 API



PvDevice.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2007, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVDEVICE_H__
8 #define __PVDEVICE_H__
9 
10 #include <PvDeviceLib.h>
11 #include <PvDeviceInfo.h>
12 #include <PvGenParameterArray.h>
13 #include <PvDeviceEnums.h>
14 #include <PvDeviceEventSink.h>
15 
16 
17 class PvDeviceEventSink;
18 
19 namespace PvDeviceLib
20 {
21  class Device;
22 }
23 
24 
25 class PvDeviceEventSink;
28 
41 class PV_DEVICE_API PvDevice
42 {
43 public:
47  virtual ~PvDevice();
48 
73  static PvDevice *CreateAndConnect( const PvDeviceInfo *aDeviceInfo, PvResult *aResult );
74 
98  static PvDevice *CreateAndConnect( const PvString &aInfo, PvResult *aResult );
99 
111  static void Free( PvDevice *aDevice );
112 
118  PvDeviceType GetType() const;
119 
142  virtual PvResult Connect( const PvDeviceInfo *aDeviceInfo );
143 
185  virtual PvResult Connect( const PvString &aInfo );
186 
196  PvResult Disconnect();
197 
219  PvResult StreamEnable( uint32_t aChannel = 0 );
220 
242  PvResult StreamDisable( uint32_t aChannel = 0 );
243 
249  bool IsConnected() const;
250 
256  bool IsPleoraPowered() const;
257 
273  PvResult DumpGenICamXML( const PvString &aFilename );
274 
289  PvResult GetDefaultGenICamXMLFilename( PvString &aFilename );
290 
299  PvGenParameterArray *GetParameters();
300 
309  PvGenParameterArray *GetCommunicationParameters();
310 
329  PvResult ReadMemory( int64_t aAddress, unsigned char *aDestination, int64_t aByteCount );
330 
359  PvResult WriteMemory( int64_t aAddress, const unsigned char *aSource, int64_t aByteCount );
360 
375  PvResult WaitForMessagingChannelIdle( uint32_t aTimeout );
376 
388  PvResult RegisterEventSink( PvDeviceEventSink *aEventSink );
389 
401  PvResult UnregisterEventSink( PvDeviceEventSink *aEventSink );
402 
410  uint32_t GetHeartbeatThreadPriority() const;
411 
431  PvResult SetHeartbeatThreadPriority( uint32_t aPriority );
432 
440  uint32_t GetInterruptLinkThreadPriority() const;
441 
461  PvResult SetInterruptLinkThreadPriority( uint32_t aPriority );
462 
470  uint32_t GetInterruptQueueThreadPriority() const;
471 
490  PvResult SetInterruptQueueThreadPriority( uint32_t aPriority );
491 
501  uint32_t GetPayloadSize();
502 
513  PvResult GetUniqueID( PvString &aID );
514 
515 protected:
519  PvDevice();
520 
521  PvDeviceLib::Device *mThis;
522 
523 private:
524 
525  // Not implemented
526  PvDevice( const PvDevice & );
527  const PvDevice &operator=( const PvDevice & );
528 
529 };
530 
531 #endif
PvResult
Result information.
Definition: PvResult.h:29
PvConfigurationWriter
Save the state of the system.
Definition: PvConfigurationWriter.h:23
PvString
String class.
Definition: PvString.h:25
PvDeviceType
PvDeviceType
The device type.
Definition: PvSystemEnums.h:74
PvGenParameterArray
GenICam feature array.
Definition: PvGenParameterArray.h:72
PvDeviceEnums.h
PvDevice library enumerations.
PvConfigurationReader
Restore the state of the system.
Definition: PvConfigurationReader.h:23
PvDevice
Connect, configure and control a GigE Vision or USB3 Vision device.
Definition: PvDevice.h:41
PvDeviceEventSink
Observer interface for an observable PvDevice object.
Definition: PvDeviceEventSink.h:65
PvDeviceInfo
Information identifying a device.
Definition: PvDeviceInfo.h:26

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