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

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