- use a more iterative approach in inflate code (instead of a retry-style)
[m6w6/ext-http] / php_http_message_object.h
index 8b28b15ea6a64cf3783bb17fa4eca2fb944a0c14..1004ac6c8ac0479e0c5a49a1d3140ea96f6edb5e 100644 (file)
 #define PHP_HTTP_MESSAGE_OBJECT_H
 #ifdef ZEND_ENGINE_2
 
-typedef struct {
+typedef struct _http_message_object_t {
        zend_object zo;
        http_message *message;
        zend_object_value parent;
+       zval *iterator;
 } http_message_object;
 
 extern zend_class_entry *http_message_object_ce;
@@ -27,6 +28,13 @@ extern zend_function_entry http_message_object_fe[];
 
 extern PHP_MINIT_FUNCTION(http_message_object);
 
+#define http_message_object_prepend(o, p) http_message_object_prepend_ex((o), (p), 1)
+#define http_message_object_prepend_ex(o, p, t) _http_message_object_prepend_ex((o), (p), (t) TSRMLS_CC)
+extern void _http_message_object_prepend_ex(zval *this_ptr, zval *prepend, zend_bool top TSRMLS_DC);
+
+#define http_message_object_reverse(t, r) _http_message_object_reverse((t), (r) TSRMLS_CC)
+extern void _http_message_object_reverse(zval *this_ptr, zval *return_value TSRMLS_DC);
+
 #define http_message_object_new(ce) _http_message_object_new((ce) TSRMLS_CC)
 extern zend_object_value _http_message_object_new(zend_class_entry *ce TSRMLS_DC);
 #define http_message_object_new_ex(ce, msg, ptr) _http_message_object_new_ex((ce), (msg), (ptr) TSRMLS_CC)
@@ -79,6 +87,8 @@ PHP_METHOD(HttpMessage, getType);
 PHP_METHOD(HttpMessage, setType);
 PHP_METHOD(HttpMessage, getResponseCode);
 PHP_METHOD(HttpMessage, setResponseCode);
+PHP_METHOD(HttpMessage, getResponseStatus);
+PHP_METHOD(HttpMessage, setResponseStatus);
 PHP_METHOD(HttpMessage, getRequestMethod);
 PHP_METHOD(HttpMessage, setRequestMethod);
 PHP_METHOD(HttpMessage, getRequestUrl);
@@ -88,15 +98,22 @@ PHP_METHOD(HttpMessage, setHttpVersion);
 PHP_METHOD(HttpMessage, getParentMessage);
 PHP_METHOD(HttpMessage, send);
 PHP_METHOD(HttpMessage, toString);
+PHP_METHOD(HttpMessage, toMessageTypeObject);
 
 PHP_METHOD(HttpMessage, count);
 PHP_METHOD(HttpMessage, serialize);
 PHP_METHOD(HttpMessage, unserialize);
+PHP_METHOD(HttpMessage, rewind);
+PHP_METHOD(HttpMessage, valid);
+PHP_METHOD(HttpMessage, current);
+PHP_METHOD(HttpMessage, key);
+PHP_METHOD(HttpMessage, next);
 
 PHP_METHOD(HttpMessage, fromString);
 
 PHP_METHOD(HttpMessage, detach);
 PHP_METHOD(HttpMessage, prepend);
+PHP_METHOD(HttpMessage, reverse);
 
 #endif
 #endif