Browse Source

Added a few missing files. Started to add all the arginfo stuff. I think
it is time for me to split up php_gearman.c into several files.

jluedke 16 years ago
parent
commit
f225b9eea5
7 changed files with 406 additions and 34 deletions
  1. 2 0
      CREDITS
  2. 3 0
      ChangeLog
  3. 0 0
      EXPERIMENTAL
  4. 68 0
      LICENSE
  5. 10 0
      gearman_001.phpt
  6. 2 2
      package.xml
  7. 321 32
      php_gearman.c

+ 2 - 0
CREDITS

@@ -0,0 +1,2 @@
+Authors: James M. Luedke <contact@jluedke.com>
+         Eric Day <eday@oddments.org>

+ 3 - 0
ChangeLog

@@ -0,0 +1,3 @@
+Version 0.3.1
+-------------
+	* Initial release

+ 0 - 0
EXPERIMENTAL


+ 68 - 0
LICENSE

@@ -0,0 +1,68 @@
+-------------------------------------------------------------------- 
+                  The PHP License, version 3.01
+Copyright (c) 1999 - 2008 The PHP Group. All rights reserved.
+-------------------------------------------------------------------- 
+
+Redistribution and use in source and binary forms, with or without
+modification, is permitted provided that the following conditions
+are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+ 
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in
+     the documentation and/or other materials provided with the
+     distribution.
+ 
+  3. The name "PHP" must not be used to endorse or promote products
+     derived from this software without prior written permission. For
+     written permission, please contact group@php.net.
+  
+  4. Products derived from this software may not be called "PHP", nor
+     may "PHP" appear in their name, without prior written permission
+     from group@php.net.  You may indicate that your software works in
+     conjunction with PHP by saying "Foo for PHP" instead of calling
+     it "PHP Foo" or "phpfoo"
+ 
+  5. The PHP Group may publish revised and/or new versions of the
+     license from time to time. Each version will be given a
+     distinguishing version number.
+     Once covered code has been published under a particular version
+     of the license, you may always continue to use it under the terms
+     of that version. You may also choose to use such covered code
+     under the terms of any subsequent version of the license
+     published by the PHP Group. No one other than the PHP Group has
+     the right to modify the terms applicable to covered code created
+     under this License.
+
+  6. Redistributions of any form whatsoever must retain the following
+     acknowledgment:
+     "This product includes PHP software, freely available from
+     <http://www.php.net/software/>".
+
+THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND 
+ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE PHP
+DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-------------------------------------------------------------------- 
+
+This software consists of voluntary contributions made by many
+individuals on behalf of the PHP Group.
+
+The PHP Group can be contacted via Email at group@php.net.
+
+For more information on the PHP Group and the PHP project, 
+please see <http://www.php.net>.
+
+PHP includes the Zend Engine, freely available at
+<http://www.zend.com>.

+ 10 - 0
gearman_001.phpt

@@ -0,0 +1,10 @@
+--TEST--
+Check for gearman  presence
+--SKIPIF--
+<?php if (!extension_loaded("gearman")) print "skip"; ?>
+--FILE--
+<?php 
+echo "gearman extension is available";
+?>
+--EXPECT--
+gearman extension is available

+ 2 - 2
package.xml

@@ -21,7 +21,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
   <email>eday@oddments.org</email>
   <active>yes</active>
  </developer>
- <date>2009-05-13</date>
+ <date>2009-05-14</date>
  <version>
   <release>0.3.1</release>
   <api>0.3.1</api>
@@ -81,7 +81,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
   <release>
    <stability><release>beta</release><api>beta</api></stability>
    <version><release>0.3.1</release><api>0.3.1</api></version>
-   <date>2009-05-13</date>
+   <date>2009-05-14</date>
    <notes>
 - Initial PECL import
 - Reworked client/worker/task/job objects.

+ 321 - 32
php_gearman.c

@@ -42,6 +42,295 @@
 #	define __PHP_ME_MAPPING(__name, __func, __arg, __flags) PHP_ME_MAPPING(__name, __func, __arg, __flags)
 #endif
 
+/* {{{ arginfo */
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_version, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#if jluedke_0
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_create)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_clone)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_free)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_error)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_errno)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_set_options)
+ZEND_END_ARG_INFO()
+#endif
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_return_code, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_return_code, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_create, 0, 0, 1)
+    ZEND_ARG_INFO(0, gearman_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_create, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_free, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_free, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+/* TODO: so looks like I may have implemented this incorrectly for
+ * now no oo interface exist. I will need to come back to this later */
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_fn_arg, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_function, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_function, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_uuid, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_uuid, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_job_handle, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_job_handle, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_is_known, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_is_known, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_is_running, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_is_running, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_numerator, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_numerator, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_denominator, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_denominator, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_data, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_data, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_data_size, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_data_size, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_take_data, 0, 0, 1)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_take_data, 0, 0, 0)
+    ZEND_ARG_INFO(0, task_object)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_send_data, 0, 0, 2)
+    ZEND_ARG_INFO(0, task_object)
+    ZEND_ARG_INFO(0, data)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_send_data, 0, 0, 1)
+    ZEND_ARG_INFO(0, data)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_task_recv_data, 0, 0, 2)
+    ZEND_ARG_INFO(0, task_object)
+    ZEND_ARG_INFO(0, data_len)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_oo_gearman_task_recv_data, 0, 0, 1)
+    ZEND_ARG_INFO(0, data_len)
+ZEND_END_ARG_INFO()
+
+#if jluedke_0
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_return_code)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_create)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_free)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_data)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_warning)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_status)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_complete)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_exception)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_fail)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_handle)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_unique)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_function_name)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_workload)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_workload_size)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_job_set_return)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_return_code)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_create)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_clone)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_free)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_error)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_errno)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_set_options)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_add_server)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_do)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_do_high)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_do_low)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_do_job_handle)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_do_status)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_do_background)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_do_high_background)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_do_low_background)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_job_status)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_echo)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_add_task)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_add_task_high)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_add_task_low)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_add_task_background)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_add_task_high_background)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_add_task_low_background)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_add_task_status)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_set_workload_fn)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_set_created_fn)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_set_data_fn)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_set_warning_fn)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_set_status_fn)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_set_complete_fn)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_set_exception_fn)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_set_fail_fn)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_clear_fn)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_data)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_set_data)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_client_run_tasks)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_return_code)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_create)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_clone)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_free)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_error)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_errno)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_set_options)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_add_server)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_register)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_unregister)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_unregister_all)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_grab_job)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_add_function)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_work)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearman_worker_echo)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearmand_create)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearmand_free)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearmand_set_backlog)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearmand_set_verbose)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearmand_error)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearmand_errno)
+ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gearmand_run)
+ZEND_END_ARG_INFO()
+#endif
+
+/* }}} end arginfo */
+
 /*
  * Object types and structures.
  */
@@ -2964,22 +3253,22 @@ zend_function_entry gearman_functions[] = {
 	/* Functions from packet.h */
 
 	/* Functions from task.h */
-	PHP_FE(gearman_task_return_code, NULL)
-	PHP_FE(gearman_task_create, NULL)
-	PHP_FE(gearman_task_free, NULL)
-	PHP_FE(gearman_task_fn_arg, NULL)
-	PHP_FE(gearman_task_function, NULL)
-	PHP_FE(gearman_task_uuid, NULL)
-	PHP_FE(gearman_task_job_handle, NULL)
-	PHP_FE(gearman_task_is_known, NULL)
-	PHP_FE(gearman_task_is_running, NULL)
-	PHP_FE(gearman_task_numerator, NULL)
-	PHP_FE(gearman_task_denominator, NULL)
-	PHP_FE(gearman_task_data, NULL)
-	PHP_FE(gearman_task_data_size, NULL)
-	PHP_FE(gearman_task_take_data, NULL)
-	PHP_FE(gearman_task_send_data, NULL)
-	PHP_FE(gearman_task_recv_data, NULL)
+	PHP_FE(gearman_task_return_code, arginfo_gearman_task_return_code)
+	PHP_FE(gearman_task_create, arginfo_gearman_task_create)
+	PHP_FE(gearman_task_free, arginfo_gearman_task_free)
+	PHP_FE(gearman_task_fn_arg, arginfo_gearman_task_fn_arg)
+	PHP_FE(gearman_task_function, arginfo_gearman_task_function)
+	PHP_FE(gearman_task_uuid, arginfo_gearman_task_uuid)
+	PHP_FE(gearman_task_job_handle, arginfo_gearman_task_job_handle)
+	PHP_FE(gearman_task_is_known, arginfo_gearman_task_is_known)
+	PHP_FE(gearman_task_is_running, arginfo_gearman_task_is_running)
+	PHP_FE(gearman_task_numerator, arginfo_gearman_task_numerator)
+	PHP_FE(gearman_task_denominator, arginfo_gearman_task_denominator)
+	PHP_FE(gearman_task_data, arginfo_gearman_task_data)
+	PHP_FE(gearman_task_data_size, arginfo_gearman_task_data_size)
+	PHP_FE(gearman_task_take_data, arginfo_gearman_task_take_data)
+	PHP_FE(gearman_task_send_data, arginfo_gearman_task_send_data)
+	PHP_FE(gearman_task_recv_data, arginfo_gearman_task_recv_data)
 
 	/* Functions from job.h */
 	PHP_FE(gearman_job_return_code, NULL)
@@ -3157,22 +3446,22 @@ zend_function_entry gearman_job_methods[]= {
 
 zend_function_entry gearman_task_methods[]= {
 	PHP_ME(gearman_task, __construct, NULL, ZEND_ACC_CTOR | ZEND_ACC_PUBLIC)
-	__PHP_ME_MAPPING(return_code, gearman_task_return_code, NULL, 0)
-	__PHP_ME_MAPPING(create, gearman_task_create, NULL, 0)
-	__PHP_ME_MAPPING(free, gearman_task_free, NULL, 0)
-	__PHP_ME_MAPPING(fn_arg, gearman_task_fn_arg, NULL, 0)
-	__PHP_ME_MAPPING(function, gearman_task_function, NULL, 0)
-	__PHP_ME_MAPPING(uuid, gearman_task_uuid, NULL, 0)
-	__PHP_ME_MAPPING(job_handle, gearman_task_job_handle, NULL, 0)
-	__PHP_ME_MAPPING(is_known, gearman_task_is_known, NULL, 0)
-	__PHP_ME_MAPPING(is_running, gearman_task_is_running, NULL, 0)
-	__PHP_ME_MAPPING(task_numerator, gearman_task_numerator, NULL, 0)
-	__PHP_ME_MAPPING(task_denominator, gearman_task_denominator, NULL, 0)
-	__PHP_ME_MAPPING(data, gearman_task_data, NULL, 0)
-	__PHP_ME_MAPPING(data_size, gearman_task_data_size, NULL, 0)
-	__PHP_ME_MAPPING(take_data, gearman_task_take_data, NULL, 0)
-	__PHP_ME_MAPPING(send_data, gearman_task_send_data, NULL, 0)
-	__PHP_ME_MAPPING(recv_data, gearman_task_recv_data, NULL, 0)
+	__PHP_ME_MAPPING(return_code, gearman_task_return_code, arginfo_oo_gearman_task_return_code, 0)
+	__PHP_ME_MAPPING(create, gearman_task_create, arginfo_oo_gearman_task_create, 0)
+	__PHP_ME_MAPPING(free, gearman_task_free, arginfo_oo_gearman_task_free, 0)
+	/* __PHP_ME_MAPPING(fn_arg, gearman_task_fn_arg, arginfo_oo_gearman_task_fn_arg, 0) */
+	__PHP_ME_MAPPING(function, gearman_task_function, arginfo_oo_gearman_task_function, 0)
+	__PHP_ME_MAPPING(uuid, gearman_task_uuid, arginfo_oo_gearman_task_uuid, 0)
+	__PHP_ME_MAPPING(job_handle, gearman_task_job_handle, arginfo_oo_gearman_task_job_handle, 0)
+	__PHP_ME_MAPPING(is_known, gearman_task_is_known, arginfo_oo_gearman_task_is_known, 0)
+	__PHP_ME_MAPPING(is_running, gearman_task_is_running, arginfo_oo_gearman_task_is_running, 0)
+	__PHP_ME_MAPPING(task_numerator, gearman_task_numerator, arginfo_oo_gearman_task_numerator, 0)
+	__PHP_ME_MAPPING(task_denominator, gearman_task_denominator, arginfo_oo_gearman_task_denominator, 0)
+	__PHP_ME_MAPPING(data, gearman_task_data, arginfo_oo_gearman_task_data, 0)
+	__PHP_ME_MAPPING(data_size, gearman_task_data_size, arginfo_oo_gearman_task_data_size, 0)
+	__PHP_ME_MAPPING(take_data, gearman_task_take_data, arginfo_oo_gearman_task_take_data, 0)
+	__PHP_ME_MAPPING(send_data, gearman_task_send_data, arginfo_oo_gearman_task_send_data, 0)
+	__PHP_ME_MAPPING(recv_data, gearman_task_recv_data, arginfo_oo_gearman_task_recv_data, 0)
 	{NULL, NULL, NULL}
 };