ValueCache.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: Hartmut Nebelung
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_VALUECACHE_H
32 #define GENAPI_VALUECACHE_H
33 
34 #include "../Synch.h"
35 #include "../Types.h"
36 
37 namespace GENAPI_NAMESPACE
38 {
39  struct CValueCacheImpl;
40 
46  class CValueCache : public LockableObject< CValueCache >
47  {
48  public:
49  CValueCache();
50  ~CValueCache();
51 
53  void GetValue( int64_t Address, uint32_t Size, void *pValue ) const;
54 
56  void SetValue( int64_t Address, uint32_t Size, const void *pValue );
57 
59  void InvalidateValue( int64_t Address );
60 
62  bool IsValueValid( int64_t Address, uint32_t Size ) const;
63 
65  void SetCacheShield(int64_t Address, bool shield) const;
66 
68  //bool IsValuePresent( int64_t Address ) const;
69 
71  //void ClearAllEntries();
72 
73  private:
75  CValueCache( const CValueCache& );
76 
79 
80  private:
81 
82  CValueCacheImpl* m_pImpl;
83  };
84 }
85 
86 #endif // GENAPI_VALUECACHE_H
87 
88 
__int64 int64_t
Definition: config-win32.h:21
void SetCacheShield(int64_t Address, bool shield) const
Set the cache shield for a specific address.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT int64_t Address
Definition: IPort.h:57
CValueCache & operator=(const CValueCache &)
not implmeneted: assignment operator
void SetValue(int64_t Address, uint32_t Size, const void *pValue)
Enter a new value.
CValueCacheImpl * m_pImpl
Definition: ValueCache.h:82
void InvalidateValue(int64_t Address)
Invalidate a value.
void GetValue(int64_t Address, uint32_t Size, void *pValue) const
Look up a value.
bool IsValueValid(int64_t Address, uint32_t Size) const
Query whether value is valid.
Cache for Registervalues.
Definition: ValueCache.h:46
Lexical analyzer for CIntSwissKnife.
Definition: Autovector.h:48
Instance-Lock for an object.
Definition: Synch.h:169


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