Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



Loading...
Searching...
No Matches
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
17namespace PvStreamLib
18{
19 class Stream;
20}
21
22
23class PvDeviceInfo;
26class PvPipeline;
27
29typedef enum
30{
32 PvStreamTypeUnknown = -1,
34 PvStreamTypeGEV = 0,
36 PvStreamTypeU3V = 1,
38 PvStreamTypeRTP = 2
39
40} PvStreamType;
41
42
50class PV_STREAM_API PvStream
51{
52public:
53
57 virtual ~PvStream();
58
66 uint32_t GetQueuedBufferCount() const;
67
73 uint32_t GetQueuedBufferMaximum() const;
74
97 static PvStream *CreateAndOpen( const PvDeviceInfo *aDeviceInfo, PvResult *aResult );
98
123 static PvStream *CreateAndOpen( const PvString &aInfo, PvResult *aResult );
124
136 static void Free( PvStream *aStream );
137
138 virtual PvResult Open( const PvDeviceInfo *aDeviceInfo ) = 0;
139 virtual PvResult Open( const PvString &aInfo ) = 0;
140
151 PvResult Close();
152
158 virtual PvStreamType GetType() const;
159
170 PvResult AbortQueuedBuffers();
171
197 PvResult QueueBuffer( PvBuffer * aBuffer );
198
233 PvResult RetrieveBuffer( PvBuffer ** aBuffer, PvResult * aOperationResult, uint32_t aTimeout = 0xFFFFFFFF );
234
240 uint16_t GetChannel();
241
247 bool IsOpen() const;
248
260 PvResult RegisterEventSink( PvStreamEventSink *aEventSink );
261
275 PvResult UnregisterEventSink( PvStreamEventSink *aEventSink );
276
282 PvGenParameterArray *GetParameters();
283
284protected:
285
289 PvStream();
290
291 PvStreamLib::Stream *mThis;
292
293private:
294
295 // Not implemented
296 PvStream( const PvStream & );
297 const PvStream &operator=( const PvStream & );
298
299 friend class PvPipeline;
300};
301
302
303#endif
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition PvBuffer.h:111
Reads and restores configuration data from persistence files.
Definition PvConfigurationReader.h:29
Writes configuration data to persistence files.
Definition PvConfigurationWriter.h:29
Information identifying a device.
Definition PvDeviceInfo.h:27
GenICam feature array.
Definition PvGenParameterArray.h:73
Helper class for receiving data from a GigE Vision or USB3 Vision transmitter.
Definition PvPipeline.h:33
Result information.
Definition PvResult.h:30
Event sink used to receive buffer queue/unqueue notifications.
Definition PvStreamEventSink.h:33
Receive data from a GigE Vision or USB3 Vision transmitter.
Definition PvStream.h:51
String class.
Definition PvString.h:26

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