##// END OF EJS Templates
Updated QxOrm meson build defs...
Updated QxOrm meson build defs Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r48:139d5f0a7d64
r52:5eaca9d9803c
Show More
CatalogWrappers.cpp
80 lines | 3.3 KiB | text/x-c | CppLexer
added catalog wrapper...
r48 #include <QString>
#include <QUuid>
#include <QDate>
#include <QTime>
#include <QVector>
#include <string>
#include <sstream>
#include "pywrappers_common.h"
#include <pybind11/pybind11.h>
#include <pybind11/operators.h>
#include <Catalogue/CatalogueController.h>
#include <DBEvent.h>
#include <DBEventProduct.h>
#include <DBCatalogue.h>
namespace py = pybind11;
std::ostream &operator <<(std::ostream& os, const DBEvent& e)
{
os << std::endl;
return os;
}
#define JAVA_LIKE_PROPERTY(name, className) .def_property("##name", &className::get##name, &className::set##name)
PYBIND11_MODULE(pysciqlopcatalogs,m){
py::class_<DBEventProduct, std::shared_ptr<DBEventProduct>>(m,"DBEventProduct")
JAVA_LIKE_PROPERTY(TStart, DBEventProduct)
JAVA_LIKE_PROPERTY(TEnd, DBEventProduct)
JAVA_LIKE_PROPERTY(ProductId, DBEventProduct)
JAVA_LIKE_PROPERTY(CreationDateTime, DBEventProduct)
JAVA_LIKE_PROPERTY(ModificationDateTime, DBEventProduct)
JAVA_LIKE_PROPERTY(Event, DBEventProduct)
;
py::class_<DBEvent, std::shared_ptr<DBEvent>>(m, "DBEvent")
JAVA_LIKE_PROPERTY(Name,DBEvent)
JAVA_LIKE_PROPERTY(UniqId,DBEvent)
JAVA_LIKE_PROPERTY(Author,DBEvent)
JAVA_LIKE_PROPERTY(Repository,DBEvent)
JAVA_LIKE_PROPERTY(CreationDateTime,DBEvent)
JAVA_LIKE_PROPERTY(ModificationDateTime,DBEvent)
JAVA_LIKE_PROPERTY(EventProducts,DBEvent)
.def_property_readonly("TStart", &DBEvent::getTStart)
.def_property_readonly("TEnd", &DBEvent::getTEnd)
.def("__repr__",__repr__<DBEvent>);
py::class_<DBCatalogue, std::shared_ptr<DBCatalogue>>(m,"DBEventProduct")
JAVA_LIKE_PROPERTY(CatalogueId, DBCatalogue)
JAVA_LIKE_PROPERTY(UniqId, DBCatalogue)
JAVA_LIKE_PROPERTY(Name, DBCatalogue)
JAVA_LIKE_PROPERTY(Author, DBCatalogue)
JAVA_LIKE_PROPERTY(Repository, DBCatalogue)
JAVA_LIKE_PROPERTY(CreationDateTime, DBCatalogue)
JAVA_LIKE_PROPERTY(ModificationDateTime, DBCatalogue)
;
py::class_<CatalogueController>(m, "CatalogueController")
.def("addDB", &CatalogueController::addDB)
.def("saveDB", &CatalogueController::saveDB)
.def("addEvent", &CatalogueController::addEvent)
.def("updateEvent", &CatalogueController::updateEvent)
.def("updateEventProduct", &CatalogueController::updateEventProduct)
.def("removeEvent", &CatalogueController::removeEvent)
.def("saveEvent", &CatalogueController::saveEvent)
.def("discardEvent", &CatalogueController::discardEvent)
.def("eventHasChanges", &CatalogueController::eventHasChanges)
.def("addCatalogue", &CatalogueController::addCatalogue)
.def("updateCatalogue", &CatalogueController::updateCatalogue)
.def("removeCatalogue", &CatalogueController::removeCatalogue)
.def("saveCatalogue", &CatalogueController::saveCatalogue)
.def("discardCatalogue", &CatalogueController::discardCatalogue)
.def("saveAll", &CatalogueController::saveAll)
.def("hasChanges", &CatalogueController::hasChanges)
;
}