All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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  private:
64  CChunkAdapter(const CChunkAdapter&); // copy constructor is not implemented
65  CChunkAdapter& operator=(const CChunkAdapter&); // assignment operator is not implemented
66  public:
68  void AttachNodeMap(INodeMap* pNodeMap);
69 
71  void DetachNodeMap();
72 
74 
75  virtual bool CheckBufferLayout(uint8_t *pBuffer, int64_t BufferLength) = 0;
76 
78 
79  virtual void AttachBuffer(uint8_t *pBuffer, int64_t BufferLength, AttachStatistics_t *pAttachStatistics = NULL) = 0;
80 
82  void DetachBuffer();
83 
85  void UpdateBuffer(uint8_t *pBaseAddress);
86 
88  void ClearCaches();
89 
90  protected:
91 
93  CChunkAdapter(INodeMap* pNodeMap = NULL, int64_t MaxChunkCacheSize = -1);
94 
96 
97  std::vector<CChunkPort*> *m_ppChunkPorts;
98 
100 
102 
103  };
104 
105 }
106 
107 #endif // GENAPI_CHUNKADAPTER_H
GENAPI_NAMESPACE
Lexical analyzer for CIntSwissKnife.
Definition: Destructible.h:30
GENAPI_NAMESPACE::CChunkAdapter::m_MaxChunkCacheSize
int64_t m_MaxChunkCacheSize
the maximum size of a chunk to be cached
Definition: ChunkAdapter.h:101
Types.h
Common types used in the public GenApi interface.
GENAPI_NAMESPACE::AttachStatistics_t
Delivers information about the attached chunks and nodes.
Definition: ChunkAdapter.h:45
GENAPI_DECL
#define GENAPI_DECL
Definition: GenApiDll.h:55
GENAPI_NAMESPACE::AttachStatistics_t::NumChunkPorts
int NumChunkPorts
Number of chunk ports found in the node map.
Definition: ChunkAdapter.h:47
INodeMap.h
Definition of interface INodeMap.
GENAPI_NAMESPACE::AttachStatistics_t::NumAttachedChunks
int NumAttachedChunks
Number of chunks from the buffer attached to a chunk port.
Definition: ChunkAdapter.h:49
GENAPI_NAMESPACE::INodeMap
GENICAM_INTERFACE INodeMap
Interface to access the node map.
Definition: INode.h:52
GENAPI_NAMESPACE::AttachStatistics_t
struct GENAPI_NAMESPACE::AttachStatistics_t AttachStatistics_t
Delivers information about the attached chunks and nodes.
GENAPI_NAMESPACE::CChunkAdapter
Connects a chunked buffer to a node map.
Definition: ChunkAdapter.h:57
ChunkPort.h
Declaration of the CChunkPort class.
int64_t
__int64 int64_t
Definition: config-win32.h:21
GENAPI_NAMESPACE::operator=
virtual IBoolean & operator=(bool Value)
Set node value.
Definition: IBoolean.h:64
GENAPI_NAMESPACE::CChunkAdapter::m_ppChunkPorts
std::vector< CChunkPort * > * m_ppChunkPorts
An array of attached ChunkPorts.
Definition: ChunkAdapter.h:97
GENAPI_NAMESPACE::AttachStatistics_t::NumChunks
int NumChunks
Number of chunks found in the buffer.
Definition: ChunkAdapter.h:48


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Dec 4 2024 03:10:11