summaryrefslogtreecommitdiff
path: root/src/memberinfo.h
diff options
context:
space:
mode:
authorEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2013-10-14 07:42:37 -0700
committerEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2013-10-14 07:42:37 -0700
commitb2042dbd58c043ab49e9b0dbb51bf8516fe8cea8 (patch)
tree25c7806d4c9d5fb237c0995b4bd12c4664bf853a /src/memberinfo.h
parent53272534a76a9d8cbee4ee887e1f360c4a99728b (diff)
Initial attempt to register native C++ class methods directly to PHP
Diffstat (limited to 'src/memberinfo.h')
-rw-r--r--src/memberinfo.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/memberinfo.h b/src/memberinfo.h
index e0cfbd8..fd9ce3d 100644
--- a/src/memberinfo.h
+++ b/src/memberinfo.h
@@ -49,13 +49,33 @@ public:
int refcount(int change) { return _refcount += change; }
/**
+ * Is this a property member
+ * @return bool
+ */
+ virtual bool isProperty() { return false; }
+
+ /**
+ * Is this a method member
+ * @return bool
+ */
+ virtual bool isMethod() { return false; }
+
+ /**
* Virtual method to declare the property
* @param entry Class entry
* @param name Name of the member
* @param size Size of the name
* @param flags Additional flags
*/
- virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags)=0;
+ virtual void declare(struct _zend_class_entry *entry, const char *name, int size, int flags) {};
+
+ /**
+ * Fill a function entry object
+ * @param entry Function entry
+ * @param classname Name of the class
+ */
+ virtual void fill(struct _zend_function_entry *entry, const char *classname) {};
+
};
/**