Pleora Technologies Inc. eBUS SDK v6.4.0.6670 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 
129 /* /// The SoftDeviceGEV3d sample shows how to handle complex multi-selector registers in
165  PvResult SetUserSetCount( uint32_t aCount );
166 
175  PvResult SetUserSetNotify( IPvUserSetNotify *aUserSetNotify );
176 
195  PvResult SetTCPTransportEnabled( bool aEnabled );
196 
219  PvResult SetRTPProtocolEnabled( bool aEnabled );
220 
237  PvResult SetStreamTimestamping( bool aEnabled );
238 
244  PvResult SetActionHandler( PvVirtualDeviceLib::IActionHandler *aActionHandler );
245 
260  IPvRegisterMap *GetRegisterMap();
261 
277  PvResult Start( const PvString &aMACAddress );
278 
287  PvResult Stop();
288 
296  IPvSoftDeviceGEVStatistics *GetStatistics();
297 
311  IPvMessageChannel *GetMessagingChannel();
312 
327  PvResult RegisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink );
328 
341  PvResult UnregisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink );
342 
356  PvResult GetGenICamXMLFile( PvString &aString ) const;
357 
358 protected:
359 
365  PvSoftDeviceGEV( PvVirtualDeviceLib::IFactory *aFactory );
366 
367  PvVirtualDeviceLib::IFactory *GetFactory() const { return mFactory; }
368  PvVirtualDeviceLib::ISoftDeviceGEV *GetDevice() const { return mThis; }
369 
375  uint32_t GetStreamCount() const;
376 
377 private:
378  PvVirtualDeviceLib::ISoftDeviceGEV *mThis;
379  PvVirtualDeviceLib::IFactory *mFactory;
380 
381 };
382 
383 
384 #endif
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:2802
Interface that is used by PvSoftDeviceGEV to query and report information from a streaming source imp...
Definition: PvSoftDeviceGEVInterfaces.h:738
Definition: PvBuffer.h:29
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

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