Pleora Technologies Inc. eBUS SDK v6.2.8.5877 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  // Defines Passthru mode
41  PvResult SetPassthru( bool aPassthruEnabled, PvString aPassthruDevice );
42 
43  // Set location for malformed XML files
44  PvResult SetMalformedXMLFile( PvString aMalformedXMLFile );
45 
46  // Enable TCP transport prototype
47  PvResult SetTCPTransportEnabled( bool aEnabled );
48 
49  // Enable RTP protocol optional support
50  PvResult SetRTPProtocolEnabled( bool aEnabled );
51 
52  // Enable GVSP timestamping (on by default)
53  PvResult SetStreamTimestamping( bool aEnabled );
54 
55  // Bind in a callback for Action Commands
56  PvResult SetActionHandler( PvVirtualDeviceLib::IActionHandler *aActionHandler );
57 
58  // Direct register map access
59  IPvRegisterMap *GetRegisterMap();
60 
61  // Start/stop device
62  PvResult Start( const PvString &aMACAddress );
63  PvResult Stop();
64 
65  // GVCP statistics
66  IPvSoftDeviceGEVStatistics *GetStatistics();
67 
68  // Messaging channel event generation
69  IPvMessageChannel *GetMessagingChannel();
70 
71  // Event sink management
72  PvResult RegisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink );
73  PvResult UnregisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink );
74 
75  // Used to retrieve the GenICam XML (after Start success or failure)
76  PvResult GetGenICamXMLFile( PvString &aString ) const;
77 
78 protected:
79  PvSoftDeviceGEV( PvVirtualDeviceLib::IFactory *aFactory );
80 
81  PvVirtualDeviceLib::IFactory *GetFactory() const { return mFactory; }
82  PvVirtualDeviceLib::ISoftDeviceGEV *GetDevice() const { return mThis; }
83 
84  uint32_t GetStreamCount() const;
85 
86 private:
87  PvVirtualDeviceLib::ISoftDeviceGEV *mThis;
88  PvVirtualDeviceLib::IFactory *mFactory;
89 
90 };
91 
92 
93 #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-2021 Pleora Technologies Inc.
www.pleora.com