summaryrefslogtreecommitdiff
path: root/include/classbase.h
diff options
context:
space:
mode:
authorEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-03-14 13:54:39 +0100
committerEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-03-14 13:54:39 +0100
commita525d95b26fa6e4afdca803a8f77579cd26cedc6 (patch)
treed0bbaecbaa4f477ea7f5b7f30c05d0dc63229d8a /include/classbase.h
parent1f1a0fa9349d37e623ae763b48c7ea21681cd45b (diff)
added extra property methods to allow both const and non-const setters and getters, updated documentation
Diffstat (limited to 'include/classbase.h')
-rw-r--r--include/classbase.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/classbase.h b/include/classbase.h
index 3ae8568..40f3fda 100644
--- a/include/classbase.h
+++ b/include/classbase.h
@@ -54,8 +54,10 @@ typedef Value (Base::*method_callback_7)(Parameters &) const;
/**
* Signatures for getters and setters
*/
-typedef Value (Base::*getter_callback)();
-typedef void (Base::*setter_callback)(const Php::Value &value);
+typedef Value (Base::*getter_callback_0)();
+typedef Value (Base::*getter_callback_1)() const;
+typedef void (Base::*setter_callback_0)(const Php::Value &value);
+typedef void (Base::*setter_callback_1)(const Php::Value &value) const;
/**
* Forward declarations
@@ -284,7 +286,12 @@ protected:
* @param getter Getter method
* @param setter Setter method
*/
- void property(const char *name, const getter_callback &getter, const setter_callback &setter);
+ void property(const char *name, const getter_callback_0 &getter);
+ void property(const char *name, const getter_callback_1 &getter);
+ void property(const char *name, const getter_callback_0 &getter, const setter_callback_0 &setter);
+ void property(const char *name, const getter_callback_1 &getter, const setter_callback_0 &setter);
+ void property(const char *name, const getter_callback_0 &getter, const setter_callback_1 &setter);
+ void property(const char *name, const getter_callback_1 &getter, const setter_callback_1 &setter);
private:
/**