summaryrefslogtreecommitdiff
path: root/zend/includes.h
diff options
context:
space:
mode:
authorvalmat <ufabiz@gmail.com>2014-04-09 11:00:05 +0600
committervalmat <ufabiz@gmail.com>2014-04-09 11:00:05 +0600
commit6c7c846edd5b74450b76532da33c25e6cc6a10a4 (patch)
tree51b0e0be5c43ddba6ca9351026fc94bf8ae7bc07 /zend/includes.h
parent08ed8866a5bba0b23a8d5587116a968512df2568 (diff)
parent33760c3efba4207eac826ff080b5f9b9672fc60e (diff)
Merge branch 'master' into ini-master
Conflicts: include/namespace.h zend/extensionimpl.cpp
Diffstat (limited to 'zend/includes.h')
-rw-r--r--zend/includes.h128
1 files changed, 128 insertions, 0 deletions
diff --git a/zend/includes.h b/zend/includes.h
new file mode 100644
index 0000000..e7dece9
--- /dev/null
+++ b/zend/includes.h
@@ -0,0 +1,128 @@
+/**
+ * Includes.h
+ *
+ * Startup include file to compile the phpcpp library
+ *
+ * @author Emiel Bruijntjes <emiel.bruijntjes@copernica.com>
+ * @copyright 2013 Copernica BV
+ */
+
+/**
+ * Include standard C and C++ libraries
+ */
+#include <stdlib.h>
+#include <string>
+#include <initializer_list>
+#include <vector>
+#include <map>
+#include <memory>
+#include <list>
+#include <exception>
+#include <type_traits>
+
+// for debug
+#include <iostream>
+
+//#define ZTS
+//#define THREAD_T pthread_t
+//#define MUTEX_T pthread_mutex_t *
+
+/**
+ * PHP includes
+ */
+#pragma GCC system_header
+#include <php.h>
+#include <zend_exceptions.h>
+#include <zend_interfaces.h>
+#include <zend_ini.h>
+
+/**
+ * Macro to convert results to success status
+ */
+#define BOOL2SUCCESS(b) ((b) ? SUCCESS : FAILURE)
+
+/**
+ * Include other files from this library
+ */
+#include "../include/ini.h"
+#include "../include/exception.h"
+#include "../include/streams.h"
+#include "../include/type.h"
+#include "../include/hashparent.h"
+#include "../include/value.h"
+#include "../include/valueiterator.h"
+#include "../include/array.h"
+#include "../include/object.h"
+#include "../include/hiddenpointer.h"
+#include "../include/globals.h"
+#include "../include/argument.h"
+#include "../include/byval.h"
+#include "../include/byref.h"
+#include "../include/global.h"
+#include "../include/super.h"
+#include "../include/hashmember.h"
+#include "../include/parameters.h"
+#include "../include/modifiers.h"
+#include "../include/base.h"
+#include "../include/countable.h"
+#include "../include/arrayaccess.h"
+#include "../include/serializable.h"
+#include "../include/iterator.h"
+#include "../include/traversable.h"
+#include "../include/classtype.h"
+#include "../include/classbase.h"
+#include "../include/interface.h"
+#include "../include/class.h"
+#include "../include/namespace.h"
+#include "../include/extension.h"
+#include "../include/call.h"
+
+/**
+ * Common header files for internal use only
+ */
+#include "../common/extensionbase.h"
+#include "../common/streambuf.h"
+
+/**
+ * Specific zend implementation files for internal use only
+ */
+#include "init.h"
+#include "callable.h"
+#include "function.h"
+#include "method.h"
+#include "member.h"
+#include "nullmember.h"
+#include "numericmember.h"
+#include "boolmember.h"
+#include "stringmember.h"
+#include "floatmember.h"
+#include "arithmetic.h"
+#include "origexception.h"
+#include "notimplemented.h"
+#include "property.h"
+#include "valueiteratorimpl.h"
+#include "hashiterator.h"
+#include "invaliditerator.h"
+#include "traverseiterator.h"
+#include "iteratorimpl.h"
+#include "classimpl.h"
+#include "objectimpl.h"
+#include "parametersimpl.h"
+#include "extensionimpl.h"
+
+#ifndef ZVAL_COPY_VALUE
+#define ZVAL_COPY_VALUE(z, v) \
+ do { \
+ (z)->value = (v)->value; \
+ Z_TYPE_P(z) = Z_TYPE_P(v); \
+ } while (0)
+#endif
+
+#ifndef INIT_PZVAL_COPY
+#define INIT_PZVAL_COPY(z, v) \
+ do { \
+ ZVAL_COPY_VALUE(z, v); \
+ Z_SET_REFCOUNT_P(z, 1); \
+ Z_UNSET_ISREF_P(z); \
+ } while (0)
+#endif