Pleora Technologies Inc. eBUS SDK v6.2.15.6244 API



PvSoftDeviceGEV.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2011, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVSOFTDEVICEGEV_H__
8 #define __PVSOFTDEVICEGEV_H__
9 
10 #include <PvVirtualDeviceLib.h>
11 
12 #include <PvSoftDeviceGEVInterfaces.h>
13 
14 
15 namespace PvVirtualDeviceLib
16 {
17  class ISoftDeviceGEV;
18  class IFactory;
19  class IActionHandler;
20 }
21 
22 
23 class PV_VIRTUAL_DEVICE_API PvSoftDeviceGEV
24  : public IPvSoftDeviceGEV
25 {
26 public:
27 
29  virtual ~PvSoftDeviceGEV();
30 
31  // Configure device info
32  IPvSoftDeviceGEVInfo *GetInfo();
33 
34  // Setup device streams
35  PvResult AddStream( IPvStreamingChannelSource * aSource );
36 
37  // Defines supported user set count
38  PvResult SetUserSetCount( uint32_t aCount );
39 
40  // Enable TCP transport prototype
41  PvResult SetTCPTransportEnabled( bool aEnabled );
42 
43  // Enable RTP protocol optional support
44  PvResult SetRTPProtocolEnabled( bool aEnabled );
45 
46  // Enable GVSP timestamping (on by default)
47  PvResult SetStreamTimestamping( bool aEnabled );
48 
49  // Bind in a callback for Action Commands
50  PvResult SetActionHandler( PvVirtualDeviceLib::IActionHandler *aActionHandler );
51 
52  // Direct register map access
53  IPvRegisterMap *GetRegisterMap();
54 
55  // Start/stop device
56  PvResult Start( const PvString &aMACAddress );
57  PvResult Stop();
58 
59  // GVCP statistics
60  IPvSoftDeviceGEVStatistics *GetStatistics();
61 
62  // Messaging channel event generation
63  IPvMessageChannel *GetMessagingChannel();
64 
65  // Event sink management
66  PvResult RegisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink );
67  PvResult UnregisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink );
68 
69  // Used to retrieve the GenICam XML (after Start success or failure)
70  PvResult GetGenICamXMLFile( PvString &aString ) const;
71 
72 protected:
73  PvSoftDeviceGEV( PvVirtualDeviceLib::IFactory *aFactory );
74 
75  PvVirtualDeviceLib::IFactory *GetFactory() const { return mFactory; }
76  PvVirtualDeviceLib::ISoftDeviceGEV *GetDevice() const { return mThis; }
77 
78  uint32_t GetStreamCount() const;
79 
80 private:
81  PvVirtualDeviceLib::ISoftDeviceGEV *mThis;
82  PvVirtualDeviceLib::IFactory *mFactory;
83 
84 };
85 
86 
87 #endif
String class.
Definition: PvString.h:21
Implements a software-based GigE Vision Device with full GVCP and GVSP support.
Definition: PvSoftDeviceGEV.h:23
Result information.
Definition: PvResult.h:13
Interface to the main class of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:386
Interface that is used by PvSoftDeviceGEV to query and report information from a streaming source imp...
Definition: PvSoftDeviceGEVInterfaces.h:151
Definition: PvBuffer.h:29
Messaging channel interface of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:102
Interface that is used to customize the identity of a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:39
Interface that is used to retrieve control channel statistics from a software-based GigE Vision Devic...
Definition: PvSoftDeviceGEVInterfaces.h:69
Interface that is used by PvSoftDeviceGEV to report internal events.
Definition: PvSoftDeviceGEVInterfaces.h:118
Register map interface for a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:310

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