Pleora Technologies Inc. eBUS SDK v6.2.8.5877 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 
21 class PV_STREAM_API PvPipeline
22 {
23 
24 public:
25 
26  PvPipeline( PvStream *aStream );
27  virtual ~PvPipeline();
28 
29  uint32_t GetBufferSize() const;
30  uint32_t GetBufferCount() const;
31  uint32_t GetOutputQueueSize() const;
32  bool GetHandleBufferTooSmall() const;
33 
34  bool IsStarted();
35 
36  void SetBufferSize( uint32_t aSize );
37  PvResult SetBufferCount( uint32_t aBufferCount );
38  void SetHandleBufferTooSmall( bool aValue );
39 
40 #ifdef EBUS_PYTHON_DOXYGEN
41  tuple RetrieveNextBuffer(int aTimeout = 0xFFFFFFFF);
42 #else
43  PvResult RetrieveNextBuffer(
44  PvBuffer ** aBuffer,
45  uint32_t aTimeout = 0xFFFFFFFF,
46  PvResult * aOperationResult = NULL );
47 #endif
48 
49  PvResult ReleaseBuffer( PvBuffer * aBuffer );
50 
51  PvResult Start();
52  PvResult Stop();
53  PvResult Reset();
54 
55  // Notifications
56  PvResult RegisterEventSink( PvPipelineEventSink *aEventSink );
57  PvResult UnregisterEventSink( PvPipelineEventSink *aEventSink );
58 
59  uint32_t GetBufferHandlingThreadPriority() const;
60  PvResult SetBufferHandlingThreadPriority( uint32_t aPriority );
61 
62 protected:
63 
64 private:
65 
66  PvStreamLib::Pipeline * mThis;
67 
68  // Not implemented
69  PvPipeline( const PvPipeline& );
70  const PvPipeline &operator=( const PvPipeline & );
71 
72 };
73 
74 #endif
Receive data from a GigE Vision or USB3 Vision transmitter.
Definition: PvStream.h:39
Helper class for receiving data from a GigE Vision or USB3 Vision transmitter.
Definition: PvPipeline.h:21
Definition: PvBuffer.h:24
Result information.
Definition: PvResult.h:13
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:47
Observer interface for an observable PvPipeline object.
Definition: PvPipelineEventSink.h:17

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