Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

MemoryPersistentTuple.h

Go to the documentation of this file.
00001 #ifndef MEMORY_PERSISTENT_TUPLE
00002 #define MEMORY_PERSISTENT_TUPLE
00003 
00004 #include <string>
00005 #include <vector>
00006 #include "IMemoryPersistentTuple.h"
00007 
00008 namespace AIDA {
00009   namespace Dev {
00010     class IDevTupleFactory;
00011   }
00012 }
00013 
00014 namespace Anaphe {
00015   namespace AIDA_MemoryStore {
00016 
00017     class MemoryTupleData;
00018     class IMemoryBackingStore;
00019 
00020 class MemoryPersistentTuple : virtual public IMemoryPersistentTuple
00021 {
00022 public:
00023   MemoryPersistentTuple( IMemoryBackingStore* store,
00024                          AIDA::Dev::IDevTupleFactory& factory,
00025                          MemoryTupleData* data,
00026                          const std::string& pathInStore );
00027   ~MemoryPersistentTuple();
00028   bool setTupleData( MemoryTupleData* data );
00029   MemoryTupleData* tupleData() const;
00030   bool bindVariable( int variableIndex );
00031   bool clearBindings();
00032   bool writeTupleRow( int rowNumber );
00033   bool readTupleRow( int rowNumber );
00034   void* variableAddress( int variableIndex );
00035   const void* variableAddress( int variableIndex ) const;
00036 
00037 private:
00038   IMemoryBackingStore*          m_store;
00039   AIDA::Dev::IDevTupleFactory&  m_factory;
00040   MemoryTupleData*              m_tupleData;
00041   std::string                   m_pathInStore;
00042   int                           m_currentRow;
00043   std::vector< void* >          m_cache;
00044 };
00045 
00046   }
00047 }
00048 #endif

Generated on Tue May 20 14:49:33 2003 for AIDA_MemoryStore by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002