ChunkAdapterGeneric.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 // (c) 2006 by Leutron Vision
3 // Project: GenApi
4 // Author: Jan Becvar
5 // $Header$
6 //
7 // License: This file is published under the license of the EMVA GenICam Standard Group.
8 // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
9 // If for some reason you are missing this file please contact the EMVA or visit the website
10 // (http://www.genicam.org) for a full copy.
11 //
12 // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
13 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
14 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
15 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
16 // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
17 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
18 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
19 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
20 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
21 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
22 // POSSIBILITY OF SUCH DAMAGE.
23 //-----------------------------------------------------------------------------
29 #ifndef GENAPI_CHUNKADAPTERGENERIC_H
30 #define GENAPI_CHUNKADAPTERGENERIC_H
31 
32 #include <GenApi/ChunkAdapter.h>
33 
34 namespace GENAPI_NAMESPACE
35 {
36  /* ------------------------------------------- */
37  // Single chunk info
38 
39  // make sure everything is properly packed
40  #pragma pack(push, 1)
41 
42  typedef struct SingleChunkData_t
43  {
44  uint64_t ChunkID;
45  ptrdiff_t ChunkOffset;
46  size_t ChunkLength;
48 
49  // the extended version holding ChunkID as string should be used only in special cases
50  // when the ChunkID does not fit into a 64-bit integer
51  typedef struct SingleChunkDataStr_t
52  {
54  ptrdiff_t ChunkOffset;
55  size_t ChunkLength;
57 
58  // restore the previous packing
59  #pragma pack(pop)
60  /* ------------------------------------------- */
61 
62 
65  {
66 
67  public:
69  CChunkAdapterGeneric(INodeMap* pNodeMap = NULL, int64_t MaxChunkCacheSize = -1);
70 
72  virtual ~CChunkAdapterGeneric();
73 
74  // Does not have implementation, use the version with EventID
75  virtual bool CheckBufferLayout(uint8_t *pBuffer, int64_t BufferLength);
76 
77  // Does not have implementation, use the generic version
78  virtual void AttachBuffer(uint8_t *pBuffer, int64_t BufferLength, AttachStatistics_t *pAttachStatistics = NULL);
79 
80  virtual void AttachBuffer(uint8_t *pBuffer, SingleChunkData_t *ChunkData, int64_t NumChunks, AttachStatistics_t *pAttachStatistics = NULL);
81 
82  virtual void AttachBuffer(uint8_t *pBuffer, SingleChunkDataStr_t *ChunkData, int64_t NumChunks, AttachStatistics_t *pAttachStatistics = NULL);
83  };
84 
85 }
86 
87 #endif // GENAPI_CHUNKADAPTERGENERIC_H
struct GENAPI_NAMESPACE::SingleChunkData_t SingleChunkData_t
__int64 int64_t
Definition: config-win32.h:21
interface GENAPI_DECL_ABSTRACT INodeMap
Interface to access the node map.
Definition: INodeMap.h:56
#define GENAPI_DECL
Definition: GenApiDll.h:55
Delivers information about the attached chunks and nodes.
Definition: ChunkAdapter.h:45
A string class which is a clone of std::string.
Definition: GCString.h:52
Declaration of the CChunkAdapter class.
Connects a generic chunked buffer to a node map.
Connects a chunked buffer to a node map.
Definition: ChunkAdapter.h:57
Part of the generic device API.
Definition: Autovector.h:48
struct GENAPI_NAMESPACE::SingleChunkDataStr_t SingleChunkDataStr_t


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Thu Jun 6 2019 19:10:53