ChunkAdapter.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 // (c) 2006 by Basler Vision Technologies
3 // Section: Vision Components
4 // Project: GenApi
5 // Author: Fritz Dierks
6 // $Header$
7 //
8 // License: This file is published under the license of the EMVA GenICam Standard Group.
9 // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10 // If for some reason you are missing this file please contact the EMVA or visit the website
11 // (http://www.genicam.org) for a full copy.
12 //
13 // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17 // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 // POSSIBILITY OF SUCH DAMAGE.
24 //-----------------------------------------------------------------------------
31 #ifndef GENAPI_CHUNKADAPTER_H
32 #define GENAPI_CHUNKADAPTER_H
33 
34 #include <GenApi/Types.h>
35 #include <GenApi/INodeMap.h>
36 #include <GenApi/ChunkPort.h>
37 #include <vector>
38 
39 namespace GENAPI_NAMESPACE
40 {
41 
42 
45  typedef struct AttachStatistics_t
46  {
48  int NumChunks;
51 
52 
58  {
59 
60  public:
62  virtual ~CChunkAdapter();
63 
65  void AttachNodeMap(INodeMap* pNodeMap);
66 
68  void DetachNodeMap();
69 
71 
72  virtual bool CheckBufferLayout(uint8_t *pBuffer, int64_t BufferLength) = 0;
73 
75 
76  virtual void AttachBuffer(uint8_t *pBuffer, int64_t BufferLength, AttachStatistics_t *pAttachStatistics = NULL) = 0;
77 
79  void DetachBuffer();
80 
82  void UpdateBuffer(uint8_t *pBaseAddress);
83 
85  void ClearCaches();
86 
87  protected:
88 
90  CChunkAdapter(INodeMap* pNodeMap = NULL, int64_t MaxChunkCacheSize = -1);
91 
93 
94  std::vector<CChunkPort*> *m_ppChunkPorts;
95 
97 
99 
100  };
101 
102 }
103 
104 #endif // GENAPI_CHUNKADAPTER_H
Common types used in the public GenApi interface.
__int64 int64_t
Definition: config-win32.h:21
int NumChunkPorts
Number of chunk ports found in the node map.
Definition: ChunkAdapter.h:47
int64_t m_MaxChunkCacheSize
the maximum size of a chunk to be cached
Definition: ChunkAdapter.h:98
GENICAM_INTERFACE INodeMap
Interface to access the node map.
Definition: INode.h:52
#define GENAPI_DECL
Definition: GenApiDll.h:55
struct GENAPI_NAMESPACE::AttachStatistics_t AttachStatistics_t
Delivers information about the attached chunks and nodes.
int NumAttachedChunks
Number of chunks from the buffer attached to a chunk port.
Definition: ChunkAdapter.h:49
Delivers information about the attached chunks and nodes.
Definition: ChunkAdapter.h:45
Definition of interface INodeMap.
int NumChunks
Number of chunks found in the buffer.
Definition: ChunkAdapter.h:48
Connects a chunked buffer to a node map.
Definition: ChunkAdapter.h:57
Declaration of the CChunkPort class.
Lexical analyzer for CIntSwissKnife.
Definition: Autovector.h:48
std::vector< CChunkPort * > * m_ppChunkPorts
An array of attached ChunkPorts.
Definition: ChunkAdapter.h:94


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