25 #ifndef LSST_MWI_PERSISTENCE_XMLSTORAGE_H
26 #define LSST_MWI_PERSISTENCE_XMLSTORAGE_H
51 #include <boost/archive/xml_oarchive.hpp>
52 #include <boost/archive/xml_iarchive.hpp>
56 namespace persistence {
60 typedef std::shared_ptr<XmlStorage>
Ptr;
65 virtual void setPolicy(lsst::pex::policy::Policy::Ptr policy);
72 virtual boost::archive::xml_oarchive&
getOArchive(
void);
73 virtual boost::archive::xml_iarchive&
getIArchive(
void);
76 std::unique_ptr<std::ofstream> _ostream;
78 std::unique_ptr<std::ifstream> _istream;
80 std::unique_ptr<boost::archive::xml_oarchive> _oarchive;
82 std::unique_ptr<boost::archive::xml_iarchive> _iarchive;
virtual ~XmlStorage(void)
Destructor.
Class for XML file storage.
Class for logical location of a persisted Persistable instance.
virtual void setPolicy(lsst::pex::policy::Policy::Ptr policy)
Allow a Policy to be used to configure the FormatterStorage.
virtual boost::archive::xml_iarchive & getIArchive(void)
Get a boost::serialization XML archive suitable for input.
virtual void startTransaction(void)
Start a transaction.
virtual void setRetrieveLocation(LogicalLocation const &location)
Set the source to retrieve from.
XmlStorage(void)
Constructor.
virtual void endTransaction(void)
End a transaction.
virtual void setPersistLocation(LogicalLocation const &location)
Set the destination to persist to.
virtual boost::archive::xml_oarchive & getOArchive(void)
Get a boost::serialization XML archive suitable for output.
std::shared_ptr< XmlStorage > Ptr