diff options
author | bubnikv <bubnikv@gmail.com> | 2018-05-03 22:45:43 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2018-05-03 22:45:43 +0300 |
commit | 19977edae21aba12c90a52d3d51f8d3f6d3d439a (patch) | |
tree | 16743733ca0be694a0119ae2c4c57d66e04ce3e2 /xs/src/libslic3r/Utils.hpp | |
parent | 81bfd8ce7e1279ae287f7345f278d90b3d2da2f5 (diff) |
Removed the "Broken croak" support, which was useful on broken
64bit Strawberry perl only. We don't use Strawberry perl anymore,
so this has been removed for clarity.
Added a PerlCallback wrapper to call a Perl subroutine from a C++ code.
Diffstat (limited to 'xs/src/libslic3r/Utils.hpp')
-rw-r--r-- | xs/src/libslic3r/Utils.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/xs/src/libslic3r/Utils.hpp b/xs/src/libslic3r/Utils.hpp index 0066aa5e6..e5157741e 100644 --- a/xs/src/libslic3r/Utils.hpp +++ b/xs/src/libslic3r/Utils.hpp @@ -84,6 +84,21 @@ inline T next_highest_power_of_2(T v) return ++ v; } +class PerlCallback { +public: + PerlCallback(void *sv) : m_callback(nullptr) { this->register_callback(sv); } + PerlCallback() : m_callback(nullptr) {} + ~PerlCallback() { this->deregister_callback(); } + void register_callback(void *sv); + void deregister_callback(); + void call(); + void call(int i); + void call(int i, int j); +// void call(const std::vector<int> &ints); +private: + void *m_callback; +}; + } // namespace Slic3r #endif // slic3r_Utils_hpp_ |