20 #ifndef GEODE_PERSISTENCEMANAGER_H_
21 #define GEODE_PERSISTENCEMANAGER_H_
25 #include "Serializable.hpp"
26 #include "internal/geode_globals.hpp"
38 class PersistenceManager;
41 typedef std::shared_ptr<PersistenceManager> (*getPersistenceManagerInstance)(
42 const std::shared_ptr<Region>&);
71 virtual void write(
const std::shared_ptr<CacheableKey>& key,
72 const std::shared_ptr<Cacheable>& value,
73 std::shared_ptr<void>& persistenceInfo) = 0;
89 virtual void init(
const std::shared_ptr<Region>& region,
90 const std::shared_ptr<Properties>& diskProperties) = 0;
99 virtual std::shared_ptr<Cacheable>
read(
100 const std::shared_ptr<CacheableKey>& key,
101 const std::shared_ptr<void>& PersistenceInfo) = 0;
116 virtual void destroy(
const std::shared_ptr<CacheableKey>& key,
117 const std::shared_ptr<void>& PersistenceInfo) = 0;
126 : m_regionPtr(regionPtr) {}
141 #endif // GEODE_PERSISTENCEMANAGER_H_