Pleora Technologies Inc. eBUS SDK v6.2.8.5877 API



PvCameraBridge.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2016, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVCAMERABRIDGE_H__
8 #define __PVCAMERABRIDGE_H__
9 
10 #include <PvCameraBridgeLib.h>
11 #include <PvDeviceSerialEnums.h>
12 #include <PvStringList.h>
13 #include <PvConfigurationReader.h>
14 #include <PvConfigurationWriter.h>
15 
16 
17 class PvDevice;
18 class PvStream;
20 
21 namespace PvCameraBridgeLib
22 {
23  class CameraBridge;
24 }
25 
26 
27 typedef enum
28 {
29  PvCameraBridgeUnknown = -1,
30  PvCameraBridgePCF = 0,
31  PvCameraBridgeCLP,
32  PvCameraBridgeGenCP
33 
34 } PvCameraBridgeType;
35 
36 
37 class PV_CAMERABRIDGE_API PvCameraBridgeEventSink
38 {
39 public:
40 
42  virtual ~PvCameraBridgeEventSink();
43 
44  virtual PvResult OnSetParameter( const PvString &aName, const PvString &aValue );
45  virtual void OnError( const PvString &aMessage );
46 
47 };
48 
49 
50 class PV_CAMERABRIDGE_API PvCameraBridge
51 {
52 public:
53 
54  PvCameraBridge( PvDevice *aDevice, PvDeviceSerial aPort, PvStream *aStream = NULL );
55  virtual ~PvCameraBridge();
56 
57  PvGenParameterArray *GetParameters();
58  bool IsConnected();
59  PvResult Disconnect();
60 
61  // Deprecated, do not use
62  PvResult Recover();
63 
64  PvDeviceSerial GetPort() const;
65  PvDevice *GetDevice();
66  PvStream *GetStream();
67 
68  PvResult StartAcquisition();
69  PvResult StopAcquisition();
70 
71  bool GetParametersSyncEnabled() const;
72  void SetParametersSyncEnabled( bool aEnabled );
73 
74  // Source (for parameters sync, acquistion start/stop, etc.)
75  PvString GetSource() const;
76  void SetSource( const PvString &aSource );
77 
78  PvResult RegisterEventSink( PvCameraBridgeEventSink* aEventSink );
79  PvResult UnregisterEventSink( PvCameraBridgeEventSink* aEventSink );
80 
81  // Pleora Camera File
82  PvResult ConnectPleoraCameraFile( const PvString &aPath );
83  PvResult GetPleoraCameraFileParserErrors( PvStringList &aErrors );
84  PvResult GetPleoraCameraFilePath( PvString &aPath ) const;
85 
86  // CLProtocol
87  static PvResult GetCLProtocolTemplates( PvStringList &aTemplates );
88  PvResult ProbeCLProtocol( const PvString &aTemplate, PvString &aCameraID, PvStringList &aXMLIDs );
89  PvResult ConnectCLProtocol( const PvString &aTemplate, const PvString &aXMLID = "" );
90  PvResult GetCLProtocolTemplate( PvString &aTemplate ) const;
91  PvResult GetCLProtocolCameraID( PvString &aCameraID ) const;
92  PvResult GetCLProtocolXMLID( PvString &aXMLID ) const;
93 
94  // GenCP
95  PvResult GetGenCPXMLIDs( PvStringList &aXMLIDs );
96  PvResult ConnectGenCP( const PvString &aXMLID = "" );
97  PvResult GetGenCPXMLID( PvString &aXMLID ) const;
98 
99  // Persistence
100  PvResult Save( const PvString &aPrefix, PvConfigurationWriter &aWriter );
101  PvResult Load( const PvString &aPrefix, PvConfigurationReader &aReader, PvStringList &aErrors );
102 
103  // Statistics
104  uint64_t GetBytesSentToCamera() const;
105  uint64_t GetBytesReceivedFromCamera() const;
106  void ResetStatistics();
107 
108  // Static PoCL helpers
109  static bool IsPoCLSupported( PvDevice *aDevice );
110  static bool IsPoCLEnabled( PvDevice *aDevice );
111  static PvResult SetPoCLEnabled( PvDevice *aDevice, bool aEnabled );
112 
113 protected:
114 
115 private:
116 
117  PvCameraBridgeLib::CameraBridge *mThis;
118 
119  // Not implemented
120  PvCameraBridge( const PvCameraBridge & );
121  const PvCameraBridge&operator=( const PvCameraBridge & );
122 
123 };
124 
125 #endif
PvDeviceSerialEnums.h
Device serial communication constants.
PvResult
Result information.
Definition: PvResult.h:13
PvConfigurationWriter
Save the state of the system.
Definition: PvConfigurationWriter.h:23
PvStream
Receive data from a GigE Vision or USB3 Vision transmitter.
Definition: PvStream.h:39
PvString
String class.
Definition: PvString.h:21
PvDeviceSerial
PvDeviceSerial
Device serial port enumeration.
Definition: PvDeviceSerialEnums.h:11
PvGenParameterArray
GenICam feature array.
Definition: PvGenParameterArray.h:38
PvCameraBridgeEventSink
Observer interface for an observable PvCameraBridge object.
Definition: PvCameraBridge.h:37
PvStringList
Class used to hold a group of PvString objects.
Definition: PvStringList.h:19
PvCameraBridge
Used to provide a GenApi interface to a frame grabber camera.
Definition: PvCameraBridge.h:50
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

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