Pleora Technologies Inc. eBUS SDK v5.1.10.4642 API



PvStream.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2007, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVSTREAM_H__
8 #define __PVSTREAM_H__
9 
10 #include <PvStreamLib.h>
11 
12 #include <PvBuffer.h>
13 #include <PvStreamEventSink.h>
14 #include <PvGenParameterArray.h>
15 
16 
17 namespace PvStreamLib
18 {
19  class Stream;
20 };
21 
22 
23 class PvDeviceInfo;
26 class PvPipeline;
27 
28 
29 typedef enum
30 {
31  PvStreamTypeUnknown = -1,
32  PvStreamTypeGEV = 0,
33  PvStreamTypeU3V = 1
34 
35 } PvStreamType;
36 
37 
38 class PV_STREAM_API PvStream
39 {
40 public:
41 
42  virtual ~PvStream();
43 
44  uint32_t GetQueuedBufferCount() const;
45  uint32_t GetQueuedBufferMaximum() const;
46 
47  static PvStream *CreateAndOpen( const PvDeviceInfo *aDeviceInfo, PvResult *aResult );
48  static PvStream *CreateAndOpen( const PvString &aInfo, PvResult *aResult );
49  static void Free( PvStream *aStream );
50 
51  virtual PvResult Open( const PvDeviceInfo *aDeviceInfo ) = 0;
52  virtual PvResult Open( const PvString &aInfo ) = 0;
53 
54  PvResult Close();
55 
56  virtual PvStreamType GetType() const;
57 
58  PvResult AbortQueuedBuffers();
59  PvResult QueueBuffer( PvBuffer * aBuffer );
60  PvResult RetrieveBuffer( PvBuffer ** aBuffer, PvResult * aOperationResult, uint32_t aTimeout = 0xFFFFFFFF );
61 
62  uint16_t GetChannel();
63  bool IsOpen() const;
64 
65  PvResult RegisterEventSink( PvStreamEventSink *aEventSink );
66  PvResult UnregisterEventSink( PvStreamEventSink *aEventSink );
67 
68  PvGenParameterArray *GetParameters();
69 
70 
71 
72 protected:
73 
74  PvStream();
75 
76  PvStreamLib::Stream *mThis;
77 
78 private:
79 
80  // Not implemented
81  PvStream( const PvStream & );
82  const PvStream &operator=( const PvStream & );
83 
84  friend class PvPipeline;
85 
86 };
87 
88 #endif
Receive data from a GigE Vision or USB3 Vision transmitter.
Definition: PvStream.h:38
Helper class for receiving data from a GigE Vision or USB3 Vision transmitter.
Definition: PvPipeline.h:22
Definition: PvBuffer.h:23
String class.
Definition: PvString.h:21
Result information.
Definition: PvResult.h:13
Save the state of the system.
Definition: PvConfigurationWriter.h:23
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:37
GenICam feature array.
Definition: PvGenParameterArray.h:38
Event sink used to receive buffer queue/unqueue notifications.
Definition: PvStreamEventSink.h:16
Information identifying a device.
Definition: PvDeviceInfo.h:18
Restore the state of the system.
Definition: PvConfigurationReader.h:23

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