summaryrefslogtreecommitdiff
path: root/include/byref.h
diff options
context:
space:
mode:
authorEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2013-09-10 09:54:14 -0700
committerEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2013-09-10 09:54:14 -0700
commit37c38c70de43d9d9ee3c9f0e2f175e19bcc0b485 (patch)
tree29cf02cfabad5eb22306ac05eaee96efbdb79cd9 /include/byref.h
parent85507088051bdfabf8bc71346290949b78c3c914 (diff)
When registering functions, it now is also possible to specify the signature of the parameters
Diffstat (limited to 'include/byref.h')
-rw-r--r--include/byref.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/include/byref.h b/include/byref.h
new file mode 100644
index 0000000..a10fff1
--- /dev/null
+++ b/include/byref.h
@@ -0,0 +1,60 @@
+/**
+ * ByRef.h
+ *
+ * Overridden Argument class to specify by-reference function arguments
+ *
+ * @author Emiel Bruijntjes <emiel.bruijntjes@copernica.com>
+ * @copyright 2013 Copernica BV
+ */
+
+/**
+ * Namespace
+ */
+namespace Php {
+
+/**
+ * Class definition
+ */
+class ByRef : public Argument
+{
+public:
+ /**
+ * Constructor
+ * @param name Name of the argument
+ * @param type Argument type
+ * @param required Is this argument required?
+ */
+ ByRef(const char *name, Type type, bool required = true) : Argument(name, type, required, true) {}
+
+ /**
+ * Constructor
+ * @param name Name of the argument
+ * @param classname Name of the class
+ * @param nullable Can it be null?
+ * @param required Is this argument required?
+ */
+ ByRef(const char *name, const char *classname, bool nullable = true, bool required = true) : Argument(name, classname, nullable, required, true) {}
+
+ /**
+ * Copy constructor
+ * @param argument
+ */
+ ByRef(const ByRef &argument) : Argument(argument) {}
+
+ /**
+ * Move constructor
+ * @param argument
+ */
+ ByRef(ByRef &&argument) : Argument(argument) {}
+
+ /**
+ * Destructor
+ */
+ virtual ~ByRef() {}
+};
+
+/**
+ * End of namespace
+ */
+}
+