Pleora Technologies Inc. eBUS SDK v6.5.1.6797 API



PvPipeline.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2008, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVPIPELINE_H__
8 #define __PVPIPELINE_H__
9 
10 #include <PvStreamLib.h>
11 #include <PvStream.h>
12 #include <PvPipelineEventSink.h>
13 
14 
15 namespace PvStreamLib
16 {
17  class Pipeline;
18 }
19 
20 
32 class PV_STREAM_API PvPipeline
33 {
34 
35 public:
36 
45  PvPipeline( PvStream *aStream );
46 
50  virtual ~PvPipeline();
51 
57  uint32_t GetBufferSize() const;
58 
64  uint32_t GetBufferCount() const;
65 
77  uint32_t GetOutputQueueSize() const;
78 
86  bool GetHandleBufferTooSmall() const;
87 
93  bool IsStarted();
94 
110  void SetBufferSize( uint32_t aSize );
111 
126  PvResult SetBufferCount( uint32_t aBufferCount );
127 
149  void SetHandleBufferTooSmall( bool aValue );
150 
151 #ifdef EBUS_PYTHON_DOXYGEN
152  tuple RetrieveNextBuffer(int aTimeout = 0xFFFFFFFF);
153 #else
154  PvResult RetrieveNextBuffer(
170  PvBuffer ** aBuffer,
171  uint32_t aTimeout = 0xFFFFFFFF,
172  PvResult * aOperationResult = NULL );
173 #endif
174 
189  PvResult ReleaseBuffer( PvBuffer * aBuffer );
190 
202  PvResult Start();
203 
212  PvResult Stop();
213 
226  PvResult Reset();
227 
239  PvResult RegisterEventSink( PvPipelineEventSink *aEventSink );
240 
252  PvResult UnregisterEventSink( PvPipelineEventSink *aEventSink );
253 
261  uint32_t GetBufferHandlingThreadPriority() const;
262 
297  PvResult SetBufferHandlingThreadPriority( uint32_t aPriority );
298 
299 protected:
300 
301 private:
302 
303  PvStreamLib::Pipeline * mThis;
304 
305  // Not implemented
306  PvPipeline( const PvPipeline& );
307  const PvPipeline &operator=( const PvPipeline & );
308 
309 };
310 
311 #endif
PvResult
Result information.
Definition: PvResult.h:29
PvPipeline
Helper class for receiving data from a GigE Vision or USB3 Vision transmitter.
Definition: PvPipeline.h:32
PvStream
Receive data from a GigE Vision or USB3 Vision transmitter.
Definition: PvStream.h:50
PvPipelineEventSink
Observer interface for an observable PvPipeline object.
Definition: PvPipelineEventSink.h:30
PvBuffer
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:95

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