ChunkAdapterU3V.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 // (c) 2013 by Groget
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_CHUNKADAPTERU3V_H
30 #define GENAPI_CHUNKADAPTERU3V_H
31 
32 #include <GenApi/ChunkAdapter.h>
33 
34 namespace GENAPI_NAMESPACE
35 {
36 
37  /* ------------------------------------------- */
38  // Declartion of USB3 Vision Chunk trailer
39 
40  // make sure everything is properly packed
41 # pragma pack(push, 1)
42 
44  typedef struct U3V_CHUNK_TRAILER
45  {
46  uint32_t ChunkID;
47  uint32_t ChunkLength;
49 
50  // restore the previous packing
51 # pragma pack(pop)
52  /* ------------------------------------------- */
53 
54 
57  {
58 
59  public:
61  CChunkAdapterU3V(INodeMap* pNodeMap = NULL, int64_t MaxChunkCacheSize = -1);
62 
64  virtual ~CChunkAdapterU3V();
65 
67  virtual bool CheckBufferLayout(uint8_t *pBuffer, int64_t BufferLength);
68 
70  virtual void AttachBuffer(uint8_t *pBuffer, int64_t BufferLength, AttachStatistics_t *pAttachStatistics = NULL);
71 
72  };
73 
74 }
75 
76 #endif // GENAPI_CHUNKADAPTERU3V_H
header of a GVCP request packet
__int64 int64_t
Definition: config-win32.h:21
GENICAM_INTERFACE INodeMap
Interface to access the node map.
Definition: INode.h:52
#define GENAPI_DECL
Definition: GenApiDll.h:55
Delivers information about the attached chunks and nodes.
Definition: ChunkAdapter.h:45
struct GENAPI_NAMESPACE::U3V_CHUNK_TRAILER U3V_CHUNK_TRAILER
header of a GVCP request packet
Declaration of the CChunkAdapter class.
Connects a chunked buffer to a node map.
Definition: ChunkAdapter.h:57
Connects a chunked U3V buffer to a node map.
Lexical analyzer for CIntSwissKnife.
Definition: Autovector.h:48


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Mar 17 2021 02:48:40