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

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