Pleora Technologies Inc. eBUS SDK v5.1.10.4642 API



PvRawData.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2010, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVRAWDATA_H__
8 #define __PVRAWDATA_H__
9 
10 #include <PvBufferLib.h>
11 #include <PvPixelType.h>
12 
13 
14 namespace PvBufferLib
15 {
16  class RawData;
17  class Buffer;
18 }
19 
20 
21 class PV_BUFFER_API PvRawData
22 {
23 public:
24 
25  uint64_t GetPayloadLength() const;
26 
27  PvResult Alloc( uint64_t aPayloadLength, uint32_t aMaximumChunkLength = 0 );
28  void Free();
29 
30  PvResult Attach( void * aRawBuffer, uint64_t aPayloadLength, uint32_t aMaximumChunkLength = 0 );
31  uint8_t *Detach();
32 
33 protected:
34 
35  PvRawData( PvBufferLib::RawData *aRawData );
36  virtual ~PvRawData();
37 
38 private:
39 
40  friend class PvBufferLib::Buffer;
41 
42  // Not implemented
43  PvRawData( const PvRawData & );
44  const PvRawData &operator=( const PvRawData & );
45 
46  PvBufferLib::RawData *mThis;
47 };
48 
49 #endif
Result information.
Definition: PvResult.h:13
Raw data interface to a PvBuffer.
Definition: PvRawData.h:21
Definition: PvBuffer.h:18

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