CatalogWrappers.cpp
102 lines
| 4.5 KiB
| text/x-c
|
CppLexer
r53 | #include "pywrappers_common.h" | |||
r82 | ||||
#include <Catalogue.hpp> | ||||
#include <Catalogue/CatalogueController.h> | ||||
#include <Event.hpp> | ||||
r48 | #include <QDate> | |||
r53 | #include <QString> | |||
r48 | #include <QTime> | |||
r53 | #include <QUuid> | |||
r48 | #include <QVector> | |||
r82 | #include <Repository.hpp> | |||
r48 | #include <pybind11/operators.h> | |||
r53 | #include <pybind11/pybind11.h> | |||
#include <sstream> | ||||
#include <string> | ||||
r48 | ||||
namespace py = pybind11; | ||||
r82 | // std::ostream& operator<<(std::ostream& os, const DBEvent& e) | |||
r57 | //{ | |||
// os << std::endl; | ||||
// return os; | ||||
//} | ||||
r48 | ||||
r53 | PYBIND11_MODULE(pysciqlopcatalogs, m) | |||
{ | ||||
r82 | py::class_<CatalogueController::Product_t>(m, "Product") | |||
.def_readwrite("name", &CatalogueController::Product_t::name) | ||||
.def_readwrite("start_time", &CatalogueController::Product_t::startTime) | ||||
.def_readwrite("stop_time", &CatalogueController::Product_t::stopTime); | ||||
r48 | ||||
r82 | py::class_<CatalogueController::Event_t, CatalogueController::Event_ptr>( | |||
m, "Event") | ||||
.def_readwrite("name", &CatalogueController::Event_t::name) | ||||
.def_readwrite("tags", &CatalogueController::Event_t::tags) | ||||
.def_readwrite("products", &CatalogueController::Event_t::products) | ||||
.def_readonly("uuid", &CatalogueController::Event_t::uuid) | ||||
.def_property_readonly("start_time", | ||||
&CatalogueController::Event_t::startTime) | ||||
.def_property_readonly("stop_time", | ||||
&CatalogueController::Event_t::stopTime) | ||||
.def(py::self == py::self) | ||||
.def(py::self != py::self); | ||||
r48 | ||||
r82 | py::class_<CatalogueController::Catalogue_t, | |||
CatalogueController::Catalogue_ptr>(m, "Catalogue") | ||||
.def_readwrite("name", &CatalogueController::Catalogue_t::name) | ||||
.def_readonly("uuid", &CatalogueController::Catalogue_t::uuid) | ||||
.def_property_readonly("start_time", | ||||
&CatalogueController::Catalogue_t::startTime) | ||||
.def_property_readonly("stop_time", | ||||
&CatalogueController::Catalogue_t::stopTime) | ||||
.def("add", &CatalogueController::Catalogue_t::add) | ||||
.def("remove", py::overload_cast<CatalogueController::Event_ptr&>( | ||||
&CatalogueController::Catalogue_t::remove)) | ||||
.def("remove", py::overload_cast<const CatalogueController::uuid_t&>( | ||||
&CatalogueController::Catalogue_t::remove)) | ||||
.def("event", | ||||
[](const CatalogueController::Catalogue_t& catalogue, | ||||
const CatalogueController::uuid_t& uuid) { | ||||
return catalogue.event(uuid); | ||||
}) | ||||
.def("__contains__", &CatalogueController::Catalogue_t::contains); | ||||
r48 | ||||
r82 | py::class_<CatalogueController>(m, "CatalogueController") | |||
.def("load_repository", &CatalogueController::loadRepository) | ||||
.def("save_repository", &CatalogueController::saveRepository) | ||||
.def("events", py::overload_cast<>(&CatalogueController::events)) | ||||
.def("events", | ||||
py::overload_cast<const QString&>(&CatalogueController::events)) | ||||
.def("events", | ||||
py::overload_cast<const CatalogueController::Catalogue_ptr&>( | ||||
&CatalogueController::events)) | ||||
.def("catalogues", py::overload_cast<>(&CatalogueController::catalogues)) | ||||
.def("catalogues", | ||||
py::overload_cast<const QString&>(&CatalogueController::catalogues)) | ||||
.def("has_unsaved_changes", &CatalogueController::hasUnsavedChanges) | ||||
.def("repository", py::overload_cast<CatalogueController::Event_ptr>( | ||||
&CatalogueController::repository)) | ||||
.def("repository", py::overload_cast<CatalogueController::Catalogue_ptr>( | ||||
&CatalogueController::repository)) | ||||
.def("save", py::overload_cast<CatalogueController::Event_ptr>( | ||||
&CatalogueController::save)) | ||||
.def("save", py::overload_cast<CatalogueController::Catalogue_ptr>( | ||||
&CatalogueController::save)) | ||||
.def("save", | ||||
py::overload_cast<const QString&>(&CatalogueController::save)) | ||||
r48 | ||||
r82 | .def("add", py::overload_cast<const QString&>(&CatalogueController::add)) | |||
.def("add", py::overload_cast<const QString&, const QString&>( | ||||
&CatalogueController::add)) | ||||
.def("add", py::overload_cast<CatalogueController::Event_ptr, | ||||
CatalogueController::Catalogue_ptr>( | ||||
&CatalogueController::add)) | ||||
.def("add", | ||||
py::overload_cast<CatalogueController::Event_ptr, const QString&>( | ||||
&CatalogueController::add)) | ||||
.def("add", [](CatalogueController& ctrlr, | ||||
CatalogueController::Event_ptr event) { | ||||
return ctrlr.add(event); | ||||
}); | ||||
r48 | } | |||