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

MemoryBackingStore.h

Go to the documentation of this file.
00001 #ifndef MEMORY_BACKING_STORE
00002 #define MEMORY_BACKING_STORE
00003 
00004 #include "IMemoryBackingStore.h"
00005 #include "MemoryTupleData.h"
00006 #include "MemoryPersistentTuple.h"
00007 
00008 #include <map>
00009 #include <string>
00010 #include <vector>
00011 
00012 namespace AIDA {
00013   namespace Dev {
00014     class IDevTupleFactory;
00015   }
00016 }
00017 
00018 namespace Anaphe {
00019   namespace AIDA_MemoryStore {
00020 
00021 class MemoryBackingStore : virtual public IMemoryBackingStore
00022 {
00023 public:
00024   MemoryBackingStore( AIDA::Dev::IDevTupleFactory& factory );
00025   ~MemoryBackingStore();
00026 
00027   // Methods inherited from the IBackingStore class
00028   bool writeTupleHeader( AIDA::Dev::ITupleHeader& header );
00029   bool readTupleHeader( AIDA::Dev::ITupleHeader& header );
00030   bool bindVariable( AIDA::Dev::ITupleHeader& header, int variableIndex );
00031   void* variableAddress( AIDA::Dev::ITupleHeader& header, int variableIndex );
00032   const void* variableAddress( const AIDA::Dev::ITupleHeader& header, int variableIndex ) const;
00033   bool clearBindings( const AIDA::Dev::ITupleHeader& header );
00034   bool writeTupleRow( AIDA::Dev::ITupleHeader& header );
00035   bool readTupleRow( AIDA::Dev::ITupleHeader& header );
00036   bool resetTuple( AIDA::Dev::ITupleHeader& header );
00037 
00038   // Methods inherited from the IMemoryBackingStore class
00039   bool removePersistentTuple( const std::string& path );
00040   bool setTupleData( const std::string& path, MemoryTupleData* data );
00041   IMemoryPersistentTuple* findPersistentTuple( const std::string& path );
00042 
00043 private:
00044   AIDA::Dev::IDevTupleFactory&                    m_factory;
00045   std::map< std::string, MemoryTupleData* >       m_tupleData;
00046   std::map< std::string, MemoryPersistentTuple >  m_tuples;
00047 };
00048 
00049   }
00050 }
00051 #endif

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