diff options
author | Toon Schoenmakers <toon.schoenmakers@copernica.com> | 2015-09-16 15:29:58 +0200 |
---|---|---|
committer | Toon Schoenmakers <toon.schoenmakers@copernica.com> | 2015-09-16 15:29:58 +0200 |
commit | 537636373c59b3ce33f15311d2bc89ce72d5cc45 (patch) | |
tree | a52ef6932895a0eb7b644d38dafdb2c26790d9c6 /include | |
parent | 913cc8ac69ec9cc6705b26575644e887c2dedc30 (diff) |
Added support for setting a std::function as an exception handler
This is so far only tested with php 5.5.9, might not work on versions
below that.
Diffstat (limited to 'include')
-rw-r--r-- | include/call.h | 1 | ||||
-rw-r--r-- | include/value.h | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/call.h b/include/call.h index 094c7d2..f26fd29 100644 --- a/include/call.h +++ b/include/call.h @@ -46,6 +46,7 @@ extern PHPCPP_EXPORT Value require(const char *filename); inline PHPCPP_EXPORT Value require(const std::string &filename) { return require(filename.c_str()); } extern PHPCPP_EXPORT Value require_once(const char *filename); inline PHPCPP_EXPORT Value require_once(const std::string &filename) { return require_once(filename.c_str()); } +extern PHPCPP_EXPORT Value set_exception_handler(const std::function<Value(Parameters ¶ms)> &handler); extern PHPCPP_EXPORT const char *sapi_name(); /** diff --git a/include/value.h b/include/value.h index 532d0c1..5b746a1 100644 --- a/include/value.h +++ b/include/value.h @@ -33,6 +33,7 @@ namespace Php { */ class Base; class ValueIterator; +class Parameters; template <class Type> class HashMember; /** @@ -1209,6 +1210,11 @@ protected: friend class Callable; friend class Script; friend class ConstantImpl; + + /** + * Friend functions which have to access that zval directly + */ + friend Value set_exception_handler(const std::function<Value(Parameters ¶ms)> &handler); }; /** |