Pleora Technologies Inc. eBUS SDK v6.4.0.6670 API



PvStreamGEV.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2013, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVSTREAMGEV_H__
8 #define __PVSTREAMGEV_H__
9 
10 #ifndef EBUS_ENUM
11 #define EBUS_ENUM(x) typedef enum
12 #endif
13 
14 #include <PvStream.h>
15 
16 
17 EBUS_ENUM(PvDataReceiverType)
18 {
19  PvDataReceiverTypeUnknown = -1,
20  PvDataReceiverTypeEBusDriver = 0,
21  PvDataReceiverTypeUserMode = 1,
22  PvDataReceiverTypeTCP = 2
23 
24 } PvDataReceiverType;
25 
26 
34 class PV_STREAM_API PvStreamGEV : public PvStream
35 {
36 public:
37 
41  PvStreamGEV();
42 
46  virtual ~PvStreamGEV();
47 
64  PvResult Open( const PvDeviceInfo *aDeviceInfo );
65 
86  PvResult Open( const PvDeviceInfo *aDeviceInfo, uint16_t aLocalPort, uint16_t aChannel = 0, const PvString & aLocalIpAddress = PvString(), uint32_t aBuffersCapacity = 64 );
87 
109  PvResult Open( const PvDeviceInfo *aDeviceInfo, const PvString & aMulticastAddr, uint16_t aDataPort, uint16_t aChannel = 0, const PvString & aLocalIPAddress = PvString(), uint32_t aBuffersCapacity = 64 );
110 
128  PvResult Open( const PvString &aInfo );
129 
151  PvResult Open( const PvString &aInfo, uint16_t aLocalPort, uint16_t aChannel = 0, const PvString & aLocalIpAddress = PvString(), uint32_t aBuffersCapacity = 64 );
152 
200  PvResult Open( const PvString &aInfo, const PvString & aMulticastAddr, uint16_t aDataPort, uint16_t aChannel = 0, const PvString & aLocalIPAddress = PvString(), uint32_t aBuffersCapacity = 64 );
201 
207  virtual PvStreamType GetType() const;
208 
214  PvDataReceiverType GetDataReceiverType() const;
215 
228  PvResult FlushPacketQueue();
229 
235  bool GetWaitForFirstPacketOfBlockToStart() const;
236 
244  PvResult SetWaitForFirstPacketOfBlockToStart( bool aWaitForFirstPacketOfBlockToStart );
245 
251  uint16_t GetLocalPort() const;
252 
258  PvString GetLocalIPAddress() const;
259 
265  PvString GetMulticastIPAddress() const;
266 
272  PvString GetDeviceIPAddress() const;
273 
281  uint16_t GetSpecificLocalPort() const;
282 
290  uint32_t GetUserModeDataReceiverThreadPriority() const;
291 
312  PvResult SetUserModeDataReceiverThreadPriority( uint32_t aPriority );
313 
329  PvResult GetUserModeSocketRxBufferSize( uint32_t &aBufferSize );
330 
374  PvResult SetUserModeSocketRxBufferSize( uint32_t aSize );
375 
403  PvResult SetUserModeRxPacketBufferSize( uint32_t aSize );
404 
417  static PvResult IsDriverInstalled( PvString &aIPAddress, bool &aInstalled, const PvString & aLocalIPAddress = PvString() );
418 
419 protected:
420 
421 private:
422 
423  // Not implemented
424  PvStreamGEV( const PvStreamGEV & );
425  const PvStreamGEV &operator=( const PvStreamGEV & );
426 
427 
428 };
429 
430 #endif
PvResult
Result information.
Definition: PvResult.h:29
PvStream
Receive data from a GigE Vision or USB3 Vision transmitter.
Definition: PvStream.h:50
PvString
String class.
Definition: PvString.h:25
PvStreamGEV
Receive data from a GigE Vision.
Definition: PvStreamGEV.h:34
PvStream::GetType
virtual PvStreamType GetType() const
Returns whether the object is a GigE Vision or USB3 Vision stream receiver.
Definition: PvStream.cpp:206
PvDeviceInfo
Information identifying a device.
Definition: PvDeviceInfo.h:26

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