Pleora Technologies Inc. eBUS SDK v6.5.1.6797 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  class IPvUserSetNotify;
22 
23 
54 class PV_VIRTUAL_DEVICE_API PvSoftDeviceGEV
55  : public IPvSoftDeviceGEV
56 {
57 public:
58 
63 
67  virtual ~PvSoftDeviceGEV();
68 
79  IPvSoftDeviceGEVInfo *GetInfo();
80 
95  PvResult AddStream( IPvStreamingChannelSource * aSource );
96 
167  PvResult SetUserSetCount( uint32_t aCount );
168 
177  PvResult SetUserSetNotify( IPvUserSetNotify *aUserSetNotify );
178 
197  PvResult SetTCPTransportEnabled( bool aEnabled );
198 
221  PvResult SetRTPProtocolEnabled( bool aEnabled );
222 
239  PvResult SetStreamTimestamping( bool aEnabled );
240 
246  PvResult SetActionHandler( PvVirtualDeviceLib::IActionHandler *aActionHandler );
247 
262  IPvRegisterMap *GetRegisterMap();
263 
279  PvResult Start( const PvString &aMACAddress );
280 
289  PvResult Stop();
290 
298  IPvSoftDeviceGEVStatistics *GetStatistics();
299 
313  IPvMessageChannel *GetMessagingChannel();
314 
329  PvResult RegisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink );
330 
343  PvResult UnregisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink );
344 
358  PvResult GetGenICamXMLFile( PvString &aString ) const;
359 
360 protected:
361 
367  PvSoftDeviceGEV( PvVirtualDeviceLib::IFactory *aFactory );
368 
369  PvVirtualDeviceLib::IFactory *GetFactory() const { return mFactory; }
370  PvVirtualDeviceLib::ISoftDeviceGEV *GetDevice() const { return mThis; }
371 
377  uint32_t GetStreamCount() const;
378 
379 private:
380  PvVirtualDeviceLib::ISoftDeviceGEV *mThis;
381  PvVirtualDeviceLib::IFactory *mFactory;
382 
383 };
384 
385 
386 #endif
String class.
Definition: PvString.h:25
Implements a software-based GigE Vision Device with full GVCP and GVSP support.
Definition: PvSoftDeviceGEV.h:54
Result information.
Definition: PvResult.h:29
Interface to the main class of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:2877
Interface that is used by PvSoftDeviceGEV to query and report information from a streaming source imp...
Definition: PvSoftDeviceGEVInterfaces.h:787
Definition: PvBuffer.h:29
Messaging channel interface of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:526
An interface to register a state change callback for UserSets.
Definition: IPvUserSetNotify.h:45
Interface that is used to customize the identity of a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:69
Interface that is used to retrieve control channel statistics from a software-based GigE Vision Devic...
Definition: PvSoftDeviceGEVInterfaces.h:365
Interface that is used by PvSoftDeviceGEV to report internal events.
Definition: PvSoftDeviceGEVInterfaces.h:619
Register map interface for a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1951

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