Pleora Technologies Inc. eBUS SDK v6.2.4.5552 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
33 
34  // Setup device streams
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
54 
55  // Start/stop device
56  PvResult Start( const PvString &aMACAddress );
57  PvResult Stop();
58 
59  // GVCP statistics
61 
62  // Messaging channel event generation
64 
65  // Event sink management
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
virtual PvResult SetUserSetCount(uint32_t aCount)=0
Sets the number of user-sets supported by the PvSoftDeviceGEV.
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
virtual PvResult Stop()=0
Stops the PvSoftDeviceGEV.
Interface to the main class of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:385
Interface that is used by PvSoftDeviceGEV to query and report information from a streaming source imp...
Definition: PvSoftDeviceGEVInterfaces.h:150
virtual IPvSoftDeviceGEVStatistics * GetStatistics()=0
Obtains the statistics interface of the PvSoftDeviceGEV.
virtual PvResult GetGenICamXMLFile(PvString &aString) const =0
Returns the GenICam XML file of the device.
Messaging channel interface of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:101
virtual IPvSoftDeviceGEVInfo * GetInfo()=0
Obtains the information interface of the PvSoftDeviceGEV.
virtual PvResult Start(const PvString &aIpAddress)=0
Starts the PvSoftDeviceGEV.
Interface that is used to customize the identity of a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:39
virtual PvResult AddStream(IPvStreamingChannelSource *aSource)=0
Adds a new stream to the PvSoftDeviceGEV.
Interface that is used to retrieve control channel statistics from a software-based GigE Vision Devic...
Definition: PvSoftDeviceGEVInterfaces.h:68
virtual PvResult RegisterEventSink(IPvSoftDeviceGEVEventSink *aEventSink)=0
Registers an event sink to receive notifications from the PvSoftDeviceGEV.
Interface that is used by PvSoftDeviceGEV to report internal events.
Definition: PvSoftDeviceGEVInterfaces.h:117
virtual IPvMessageChannel * GetMessagingChannel()=0
Obtains the messaging channel interface of the PvSoftDeviceGEV.
Register map interface for a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:309
virtual IPvRegisterMap * GetRegisterMap()=0
Obtains the register map interface of the PvSoftDeviceGEV.
virtual PvResult UnregisterEventSink(IPvSoftDeviceGEVEventSink *aEventSink)=0
Unregisters a previously registered event sink.

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