lsst.daf.persistence  13.0-31-g48013df+4
persistence.cc
Go to the documentation of this file.
1 #include "pybind11/pybind11.h"
2 #include "pybind11/stl.h"
3 
4 #include "lsst/daf/base/Citizen.h"
5 #include "lsst/daf/base/PropertySet.h"
9 
11 
12 namespace py = pybind11;
13 
14 namespace lsst {
15 namespace daf {
16 namespace persistence {
17 
18 PYBIND11_PLUGIN(persistence) {
19  py::module::import("lsst.daf.base");
20 
21  py::module mod("persistence");
22 
23  py::class_<python::ReadProxyBase, std::shared_ptr<python::ReadProxyBase>>(mod, "ReadProxyBase")
24  .def(py::init<>())
25  .def_readwrite("subject", &python::ReadProxyBase::subject);
26 
27  py::class_<Persistence, std::shared_ptr<Persistence>, base::Citizen> clsPersistence(mod, "Persistence");
28 
29  clsPersistence.def("getPersistStorage", &Persistence::getPersistStorage);
30  clsPersistence.def("getRetrieveStorage", &Persistence::getRetrieveStorage);
31  clsPersistence.def("persist", &Persistence::persist);
32  clsPersistence.def("retrieve", &Persistence::retrieve);
33  clsPersistence.def("unsafeRetrieve", &Persistence::unsafeRetrieve);
34  clsPersistence.def_static("getPersistence", &Persistence::getPersistence);
35 
36  return mod.ptr();
37 }
38 
39 } // persistence
40 } // daf
41 } // lsst
static Ptr getPersistence(lsst::pex::policy::Policy::Ptr policy)
Create a Persistence object.
Definition: Persistence.cc:196
Interface for FormatterStorage abstract base class.
virtual void persist(lsst::daf::base::Persistable const &persistable, FormatterStorage::List const &storageList, lsst::daf::base::PropertySet::Ptr additionalData)
Persist a Persistable instance.
Definition: Persistence.cc:112
PYBIND11_PLUGIN(dbAuth)
Definition: dbAuth.cc:11
virtual FormatterStorage::Ptr getRetrieveStorage(std::string const &storageType, LogicalLocation const &location)
Create a FormatterStorage subclass configured to retrieve from a location.
Definition: Persistence.cc:101
virtual FormatterStorage::Ptr getPersistStorage(std::string const &storageType, LogicalLocation const &location)
Create a FormatterStorage subclass configured to persist to a location.
Definition: Persistence.cc:91
virtual lsst::daf::base::Persistable * unsafeRetrieve(std::string const &persistableType, FormatterStorage::List const &storageList, lsst::daf::base::PropertySet::Ptr additionalData)
Retrieve a Persistable instance, returning an unsafe bare pointer.
Definition: Persistence.cc:147
Interface for Persistence class.
virtual lsst::daf::base::Persistable::Ptr retrieve(std::string const &persistableType, FormatterStorage::List const &storageList, lsst::daf::base::PropertySet::Ptr additionalData)
Retrieve a Persistable instance.
Definition: Persistence.cc:185
Interface for LogicalLocation class.