|
2 | 2 | * |
3 | 3 | * This file is part of Mapnik (c++ mapping toolkit) |
4 | 4 | * |
5 | | - * Copyright (C) 2015 Artem Pavlenko, Jean-Francois Doyon |
| 5 | + * Copyright (C) 2024 Artem Pavlenko |
6 | 6 | * |
7 | 7 | * This library is free software; you can redistribute it and/or |
8 | 8 | * modify it under the terms of the GNU Lesser General Public |
|
20 | 20 | * |
21 | 21 | *****************************************************************************/ |
22 | 22 |
|
| 23 | +//mapnik |
23 | 24 | #include <mapnik/config.hpp> |
24 | | - |
25 | | - |
26 | | -#pragma GCC diagnostic push |
27 | | -#include <mapnik/warning_ignore.hpp> |
28 | | -#include <boost/python.hpp> |
29 | | -#include <boost/python/suite/indexing/vector_indexing_suite.hpp> |
30 | | -#pragma GCC diagnostic pop |
31 | | - |
32 | 25 | #include <mapnik/debug.hpp> |
33 | 26 | #include <mapnik/util/singleton.hpp> |
34 | | -#include "mapnik_enumeration.hpp" |
35 | 27 |
|
36 | | -void export_logger() |
| 28 | +//pybind11 |
| 29 | +#include <pybind11/pybind11.h> |
| 30 | +#include <pybind11/stl.h> |
| 31 | + |
| 32 | +namespace py = pybind11; |
| 33 | + |
| 34 | +void export_logger(py::module const& m) |
37 | 35 | { |
38 | 36 | using mapnik::logger; |
39 | 37 | using mapnik::singleton; |
40 | 38 | using mapnik::CreateStatic; |
41 | | - using namespace boost::python; |
42 | 39 |
|
43 | | - class_<singleton<logger,CreateStatic>,boost::noncopyable>("Singleton",no_init) |
44 | | - .def("instance",&singleton<logger,CreateStatic>::instance, |
45 | | - return_value_policy<reference_existing_object>()) |
46 | | - .staticmethod("instance") |
47 | | - ; |
48 | 40 |
|
49 | | - enum_<mapnik::logger::severity_type>("severity_type") |
| 41 | + py::enum_<mapnik::logger::severity_type>(m, "severity_type") |
50 | 42 | .value("Debug", logger::debug) |
51 | 43 | .value("Warn", logger::warn) |
52 | 44 | .value("Error", logger::error) |
53 | 45 | .value("None", logger::none) |
54 | 46 | ; |
55 | 47 |
|
56 | | - class_<logger,bases<singleton<logger,CreateStatic> >, |
57 | | - boost::noncopyable>("logger",no_init) |
58 | | - .def("get_severity", &logger::get_severity) |
59 | | - .def("set_severity", &logger::set_severity) |
60 | | - .def("get_object_severity", &logger::get_object_severity) |
61 | | - .def("set_object_severity", &logger::set_object_severity) |
62 | | - .def("clear_object_severity", &logger::clear_object_severity) |
63 | | - .def("get_format", &logger::get_format,return_value_policy<reference_existing_object>()) |
64 | | - .def("set_format", &logger::set_format) |
65 | | - .def("str", &logger::str) |
66 | | - .def("use_file", &logger::use_file) |
67 | | - .def("use_console", &logger::use_console) |
68 | | - .staticmethod("get_severity") |
69 | | - .staticmethod("set_severity") |
70 | | - .staticmethod("get_object_severity") |
71 | | - .staticmethod("set_object_severity") |
72 | | - .staticmethod("clear_object_severity") |
73 | | - .staticmethod("get_format") |
74 | | - .staticmethod("set_format") |
75 | | - .staticmethod("str") |
76 | | - .staticmethod("use_file") |
77 | | - .staticmethod("use_console") |
| 48 | + py::class_<logger, std::unique_ptr<logger, py::nodelete>>(m, "logger") |
| 49 | + .def_static("get_severity", &logger::get_severity) |
| 50 | + .def_static("set_severity", &logger::set_severity) |
| 51 | + .def_static("get_object_severity", &logger::get_object_severity) |
| 52 | + .def_static("set_object_severity", &logger::set_object_severity) |
| 53 | + .def_static("clear_object_severity", &logger::clear_object_severity) |
| 54 | + .def_static("get_format", &logger::get_format) |
| 55 | + .def_static("set_format", &logger::set_format) |
| 56 | + .def_static("str", &logger::str) |
| 57 | + .def_static("use_file", &logger::use_file) |
| 58 | + .def_static("use_console", &logger::use_console) |
78 | 59 | ; |
79 | 60 | } |
0 commit comments