00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _PERSISTENT_STORE_H_
00018 #define _PERSISTENT_STORE_H_
00019
00020
00021 #include <vector>
00022 #include <oasys/serialize/Serialize.h>
00023
00024 namespace dtn {
00025
00034 class PersistentStore {
00035 public:
00039 virtual int close() = 0;
00040
00045 virtual int get(oasys::SerializableObject* obj, const int key) = 0;
00046
00050 virtual int add(oasys::SerializableObject* obj, const int key) = 0;
00051
00055 virtual int update(oasys::SerializableObject* obj, const int key) = 0;
00056
00060 virtual int del(const int key) = 0;
00061
00065 virtual int num_elements() = 0;
00066
00071 virtual void keys(std::vector<int> * v) = 0;
00072
00073 virtual ~PersistentStore();
00074
00075 };
00076 }
00077
00078 #endif