CMS 3D CMS Logo

PayloadInspectorModule.h
Go to the documentation of this file.
1 #include <boost/python.hpp>
2 
3 #define PPCAT_NX(A, B) A##B
4 #define PPCAT(A, B) PPCAT_NX(A, B)
5 #define STRINGIZE_NX(A) #A
6 #define STRINGIZE(A) STRINGIZE_NX(A)
7 
8 #define PAYLOAD_INSPECTOR_MODULE(PAYLOAD_TYPENAME) BOOST_PYTHON_MODULE(plugin##PAYLOAD_TYPENAME##_PayloadInspector)
9 
10 #define PAYLOAD_INSPECTOR_CLASS(CLASS_NAME) \
11  boost::python::class_<CLASS_NAME, boost::python::bases<cond::payloadInspector::PlotBase> >( \
12  STRINGIZE(PPCAT(plot_, CLASS_NAME)), boost::python::init<>()) \
13  .def("process", &cond::payloadInspector::PlotBase::process) \
14  .def("payloadType", &cond::payloadInspector::PlotBase::payloadType) \
15  .def("title", &cond::payloadInspector::PlotBase::title) \
16  .def("isSingleIov", &cond::payloadInspector::PlotBase::isSingleIov) \
17  .def("isTwoTags", &cond::payloadInspector::PlotBase::isTwoTags) \
18  .def("data", &cond::payloadInspector::PlotBase::data);