summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorToon Schoenmakers <toon.schoenmakers@copernica.com>2015-09-16 15:29:58 +0200
committerToon Schoenmakers <toon.schoenmakers@copernica.com>2015-09-16 15:29:58 +0200
commit537636373c59b3ce33f15311d2bc89ce72d5cc45 (patch)
treea52ef6932895a0eb7b644d38dafdb2c26790d9c6 /include
parent913cc8ac69ec9cc6705b26575644e887c2dedc30 (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.h1
-rw-r--r--include/value.h6
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 &params)> &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 &params)> &handler);
};
/**