Merge R_2_5
[m6w6/ext-http] / php_http_object.h
index 24e5a181c568983344ca2952447d2e5073e3087b..20de8c8e62263098663341790ed464b035a6d80d 100644 (file)
@@ -18,16 +18,25 @@ typedef struct php_http_object {
        zend_object zo;
 } php_http_object_t;
 
-zend_object *php_http_object_new(zend_class_entry *ce TSRMLS_DC);
+zend_object *php_http_object_new(zend_class_entry *ce);
 php_http_object_t *php_http_object_new_ex(zend_class_entry *ce, void *nothing);
 
 typedef void *(*php_http_new_t)(zend_class_entry *ce, void *);
 
 ZEND_RESULT_CODE php_http_new(void **obj_ptr, zend_class_entry *ce, php_http_new_t create, zend_class_entry *parent_ce, void *intern_ptr);
-ZEND_RESULT_CODE php_http_method_call(zval *object, const char *method_str, size_t method_len, int argc, zval argv[], zval *retval_ptr);
 
 PHP_MINIT_FUNCTION(http_object);
 
+typedef struct php_http_method {
+       zend_fcall_info fci;
+       zend_fcall_info_cache fcc;
+} php_http_object_method_t;
+
+php_http_object_method_t *php_http_object_method_init(php_http_object_method_t *cb, zval *zobject, const char *method_str, size_t method_len);
+ZEND_RESULT_CODE php_http_object_method_call(php_http_object_method_t *cb, zval *zobject, zval *retval, int argc, zval *args);
+void php_http_object_method_dtor(php_http_object_method_t *cb);
+void php_http_object_method_free(php_http_object_method_t **cb);
+
 #endif