Pleora Technologies Inc. eBUS SDK v5.1.10.4642 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 
26 class PvDeviceEventSink;
29 
30 
31 class PV_DEVICE_API PvDevice
32 {
33 public:
34 
35  virtual ~PvDevice();
36 
37  static PvDevice *CreateAndConnect( const PvDeviceInfo *aDeviceInfo, PvResult *aResult );
38  static PvDevice *CreateAndConnect( const PvString &aInfo, PvResult *aResult );
39  static void Free( PvDevice *aDevice );
40 
41  PvDeviceType GetType() const;
42 
43  virtual PvResult Connect( const PvDeviceInfo *aDeviceInfo );
44  virtual PvResult Connect( const PvString &aInfo );
45  PvResult Disconnect();
46 
47  PvResult StreamEnable( uint32_t aChannel = 0 );
48  PvResult StreamDisable( uint32_t aChannel = 0 );
49 
50  bool IsConnected() const;
51  bool IsPleoraPowered() const;
52 
53  PvResult DumpGenICamXML( const PvString &aFilename );
54  PvResult GetDefaultGenICamXMLFilename( PvString &aFilename );
55 
56  PvGenParameterArray *GetParameters();
57  PvGenParameterArray *GetCommunicationParameters();
58 
59  PvResult ReadMemory( int64_t aAddress, unsigned char *aDestination, int64_t aByteCount );
60  PvResult WriteMemory( int64_t aAddress, const unsigned char *aSource, int64_t aByteCount );
61 
62  PvResult WaitForMessagingChannelIdle( uint32_t aTimeout );
63 
64  PvResult RegisterEventSink( PvDeviceEventSink *aEventSink );
65  PvResult UnregisterEventSink( PvDeviceEventSink *aEventSink );
66 
67  uint32_t GetHeartbeatThreadPriority() const;
68  PvResult SetHeartbeatThreadPriority( uint32_t aPriority );
69 
70  uint32_t GetInterruptLinkThreadPriority() const;
71  PvResult SetInterruptLinkThreadPriority( uint32_t aPriority );
72 
73  uint32_t GetInterruptQueueThreadPriority() const;
74  PvResult SetInterruptQueueThreadPriority( uint32_t aPriority );
75 
76  uint32_t GetPayloadSize();
77 
78  PvResult GetUniqueID( PvString &aID );
79 
80 protected:
81 
82  PvDevice();
83 
84  PvDeviceLib::Device *mThis;
85 
86 private:
87 
88  // Not implemented
89  PvDevice( const PvDevice & );
90  const PvDevice &operator=( const PvDevice & );
91 
92 };
93 
94 #endif
PvDeviceType
The device type.
Definition: PvSystemEnums.h:70
String class.
Definition: PvString.h:21
Result information.
Definition: PvResult.h:13
Save the state of the system.
Definition: PvConfigurationWriter.h:23
Definition: PvActionCommand.h:13
GenICam feature array.
Definition: PvGenParameterArray.h:38
Observer interface for an observable PvDevice object.
Definition: PvDeviceEventSink.h:17
Information identifying a device.
Definition: PvDeviceInfo.h:18
Restore the state of the system.
Definition: PvConfigurationReader.h:23
PvDevice library enumerations.
Connect, configure and control a GigE Vision or USB3 Vision device.
Definition: PvDevice.h:31

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