GenApi 3.5.1
ChunkAdapterU3V.h
1//-----------------------------------------------------------------------------
2// (c) 2013 by Groget
3// Author: Jan Becvar
4//
5// License: This file is published under the license of the EMVA GenICam Standard Group.
6// A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
7// If for some reason you are missing this file please contact the EMVA or visit the website
8// (http://www.genicam.org) for a full copy.
9//
10// THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
11// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
12// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
13// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
14// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
15// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
16// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
17// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
18// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
20// POSSIBILITY OF SUCH DAMAGE.
21//
22//-----------------------------------------------------------------------------
28#ifndef GENAPI_CHUNKADAPTERU3V_H
29#define GENAPI_CHUNKADAPTERU3V_H
30
31#include <GenApi/ChunkAdapter.h>
32
33namespace GENAPI_NAMESPACE
34{
35
36 /* ------------------------------------------- */
37 // Declartion of USB3 Vision Chunk trailer
38
39 // make sure everything is properly packed
40# pragma pack(push, 1)
41
43 typedef struct U3V_CHUNK_TRAILER
44 {
45 uint32_t ChunkID;
46 uint32_t ChunkLength;
48
49 // restore the previous packing
50# pragma pack(pop)
51 /* ------------------------------------------- */
52
53
55 class GENAPI_DECL CChunkAdapterU3V : public CChunkAdapter
56 {
57
58 public:
60 CChunkAdapterU3V(INodeMap* pNodeMap = NULL, int64_t MaxChunkCacheSize = -1);
61
64
66 virtual bool CheckBufferLayout(uint8_t *pBuffer, int64_t BufferLength);
67
69 virtual void AttachBuffer(uint8_t *pBuffer, int64_t BufferLength, AttachStatistics_t *pAttachStatistics = NULL);
70
71 };
72
73}
74
75#endif // GENAPI_CHUNKADAPTERU3V_H
Declaration of the CChunkAdapter class.
Connects a chunked U3V buffer to a node map.
Definition ChunkAdapterU3V.h:56
virtual void AttachBuffer(uint8_t *pBuffer, int64_t BufferLength, AttachStatistics_t *pAttachStatistics=NULL)
Attaches a buffer to the matching ChunkPort.
virtual bool CheckBufferLayout(uint8_t *pBuffer, int64_t BufferLength)
Checks if a buffer contains chunks in a known format.
virtual ~CChunkAdapterU3V()
Destructor.
CChunkAdapterU3V(INodeMap *pNodeMap=NULL, int64_t MaxChunkCacheSize=-1)
Constructor.
Connects a chunked buffer to a node map.
Definition ChunkAdapter.h:56
Definition ChunkAdapter.h:44
header of a GVCP request packet
Definition ChunkAdapterU3V.h:44