- flush
[m6w6/ext-http] / http_requestpool_object.c
index 000a04478ebc36a3f81d1772d0248c287ccfbeaa..81254c444c9231df3056dc1e54ba6b6862e35382 100644 (file)
 #ifdef HAVE_CONFIG_H
 #      include "config.h"
 #endif
-
-#ifdef HTTP_HAVE_CURL
-#      ifdef PHP_WIN32
-#              include <winsock2.h>
-#      endif
-#      include <curl/curl.h>
-#endif
-
 #include "php.h"
 
+#if defined(ZEND_ENGINE_2) && defined(HTTP_HAVE_CURL)
+
 #include "php_http_std_defs.h"
 #include "php_http_requestpool_object.h"
-#include "php_http_request_api.h"
+#include "php_http_request_pool_api.h"
+
+#ifdef PHP_WIN32
+#      include <winsock2.h>
+#endif
+#include <curl/curl.h>
+
+#define HTTP_BEGIN_ARGS(method, req_args)              HTTP_BEGIN_ARGS_EX(HttpRequestPool, method, ZEND_RETURN_REFERENCE_AGNOSTIC, req_args)
+#define HTTP_EMPTY_ARGS(method, ret_ref)               HTTP_EMPTY_ARGS_EX(HttpRequestPool, method, ret_ref)
+#define HTTP_REQPOOL_ME(method, visibility)            PHP_ME(HttpRequestPool, method, HTTP_ARGS(HttpRequestPool, method), visibility)
+
+HTTP_BEGIN_ARGS_AR(HttpRequestPool, __construct, 0, 0)
+       HTTP_ARG_OBJ(HttpRequest, request0, 0)
+       HTTP_ARG_OBJ(HttpRequest, request1, 0)
+       HTTP_ARG_OBJ(HttpRequest, requestN, 0)
+HTTP_END_ARGS;
+
+HTTP_EMPTY_ARGS(__destruct, 0);
+HTTP_EMPTY_ARGS(reset, 0);
+
+HTTP_BEGIN_ARGS(attach, 1)
+       HTTP_ARG_OBJ(HttpRequest, request, 0)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(detach, 1)
+       HTTP_ARG_OBJ(HttpRequest, request, 0)
+HTTP_END_ARGS;
+
+HTTP_EMPTY_ARGS(send, 0);
+HTTP_EMPTY_ARGS(socketSend, 0);
+HTTP_EMPTY_ARGS(socketSelect, 0);
+HTTP_EMPTY_ARGS(socketRead, 0);
 
-#ifdef ZEND_ENGINE_2
-#ifdef HTTP_HAVE_CURL
 
 #define http_requestpool_object_declare_default_properties() _http_requestpool_object_declare_default_properties(TSRMLS_C)
 static inline void _http_requestpool_object_declare_default_properties(TSRMLS_D);
 
 zend_class_entry *http_requestpool_object_ce;
 zend_function_entry http_requestpool_object_fe[] = {
-       PHP_ME(HttpRequestPool, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR)
-       PHP_ME(HttpRequestPool, __destruct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_DTOR)
-       PHP_ME(HttpRequestPool, attach, NULL, ZEND_ACC_PUBLIC)
-       PHP_ME(HttpRequestPool, detach, NULL, ZEND_ACC_PUBLIC)
-       PHP_ME(HttpRequestPool, send, NULL, ZEND_ACC_PUBLIC)
-       PHP_ME(HttpRequestPool, reset, NULL, ZEND_ACC_PUBLIC)
-       
-       PHP_ME(HttpRequestPool, socketSend, NULL, ZEND_ACC_PROTECTED)
-       PHP_ME(HttpRequestPool, socketSelect, NULL, ZEND_ACC_PROTECTED)
-       PHP_ME(HttpRequestPool, socketRead, NULL, ZEND_ACC_PROTECTED)
+       HTTP_REQPOOL_ME(__construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR)
+       HTTP_REQPOOL_ME(__destruct, ZEND_ACC_PUBLIC|ZEND_ACC_DTOR)
+       HTTP_REQPOOL_ME(attach, ZEND_ACC_PUBLIC)
+       HTTP_REQPOOL_ME(detach, ZEND_ACC_PUBLIC)
+       HTTP_REQPOOL_ME(send, ZEND_ACC_PUBLIC)
+       HTTP_REQPOOL_ME(reset, ZEND_ACC_PUBLIC)
+
+       HTTP_REQPOOL_ME(socketSend, ZEND_ACC_PROTECTED)
+       HTTP_REQPOOL_ME(socketSelect, ZEND_ACC_PROTECTED)
+       HTTP_REQPOOL_ME(socketRead, ZEND_ACC_PROTECTED)
 
        {NULL, NULL, NULL}
 };
@@ -100,8 +123,7 @@ void _http_requestpool_object_free(zend_object *object TSRMLS_DC)
        efree(o);
 }
 
-#endif /* HTTP_HAVE_CURL */
-#endif /* ZEND_ENGINE_2 */
+#endif /* ZEND_ENGINE_2 && HTTP_HAVE_CURL */
 
 /*
  * Local variables: