diff options
Diffstat (limited to 'ext/rpc/handler.h')
-rw-r--r-- | ext/rpc/handler.h | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/ext/rpc/handler.h b/ext/rpc/handler.h deleted file mode 100644 index 04ec2c2f09..0000000000 --- a/ext/rpc/handler.h +++ /dev/null @@ -1,117 +0,0 @@ -#ifndef HANDLER_H -#define HANDLER_H - -#include "php.h" - -#define RPC_HANDLER(layer) {#layer, layer##_handler_init, &layer##_object_handlers, \ - &layer##_class_entry, layer##_function_entry, \ - layer##_method_entry} - -#define RPC_DECLARE_HANDLER(layer) void layer##_handler_init(); \ - rpc_object_handlers layer##_object_handlers; \ - zend_class_entry layer##_class_entry; \ - function_entry layer##_function_entry[]; \ - function_entry layer##_method_entry[]; - -#define RPC_INIT_FUNCTION(layer) void layer##_handler_init() - -#define RPC_REGISTER_HANDLERS_START(layer) zend_class_entry layer##_class_entry; \ - rpc_object_handlers layer##_object_handlers = { - -#define RPC_REGISTER_HANDLERS_END() }; - - -#define RPC_FUNCTION_ENTRY_START(layer) function_entry layer##_function_entry[] = { \ - ZEND_FALIAS(layer##_load, rpc_load, NULL) \ - ZEND_FALIAS(layer##_call, rpc_call, NULL) \ - ZEND_FALIAS(layer##_get, rpc_get, NULL) \ - ZEND_FALIAS(layer##_set, rpc_set, NULL) - -#define RPC_FUNCTION_ENTRY_END() {NULL, NULL, NULL} \ - }; - -#define RPC_METHOD_ENTRY_START(layer) function_entry layer##_method_entry[] = { - -#define RPC_METHOD_ENTRY_END() {NULL, NULL, NULL} \ - }; - -#define POOL TRUE -#define DONT_POOL FALSE - -#define DONT_HASH 0 -#define HASH_AS_INT 1 -#define HASH_AS_STRING 2 -#define HASH_WITH_SIGNATURE 4 -#define HASH_AS_INT_WITH_SIGNATURE (HASH_AS_INT + HASH_WITH_SIGNATURE) -#define HASH_AS_STRING_WITH_SIGNATURE (HASH_AS_STRING + HASH_WITH_SIGNATURE) - -#define CLASS 0 -#define METHOD 1 -#define PROPERTY 2 - - -/* rpc handler that have to be implemented by a - * specific rpc layer - */ -typedef struct _rpc_object_handlers { - const zend_bool pool_instances; - const zend_uint hash_type; - int (*rpc_hash)(char *name, zend_uint name_len, char **hash, zend_uint *hash_len, int num_args, char *arg_types, int type); - int (*rpc_ctor)(char *class_name, zend_uint class_name_len, void **data, int num_args, zval **args[]); - int (*rpc_dtor)(void **data); - int (*rpc_call)(char *method_name, zend_uint method_name_len, void **data, zval **return_value, int num_args, zval **args[]); - int (*rpc_get)(char *property_name, zend_uint property_name_len, zval *return_value, void **data); - int (*rpc_set)(char *property_name, zend_uint property_name_len, zval *value, void **data); - int (*rpc_compare)(void **data1, void **data2); - int (*rpc_get_classname)(char **class_name, zend_uint *class_name_length, void **data); - int (*rpc_has_property)(char *property_name, zend_uint property_name_length, void **data); - int (*rpc_unset_property)(char *property_name, zend_uint property_name_length, void **data); - int (*rpc_get_properties)(HashTable **properties, void **data); -} rpc_object_handlers; - -/* handler entry */ -typedef struct _rpc_handler_entry { - char *name; - void (*rpc_handler_init)(); - rpc_object_handlers *handlers; - zend_class_entry *ce; - function_entry *functions; - function_entry *methods; -} rpc_handler_entry; - -/* string */ -typedef struct _rpc_string { - char *str; - zend_uint len; -} rpc_string; - -/* class/method/function hash */ -typedef struct _rpc_class_hash { - rpc_string name; /* must be first entry */ - TsHashTable methods; - TsHashTable properties; -} rpc_class_hash; - -/* internal data */ -typedef struct _rpc_internal { - char *class_name; - zend_uint class_name_len; - zend_class_entry *ce; - rpc_object_handlers **handlers; - void *data; - zend_uint refcount; - zend_uint clonecount; - zend_bool pool_instances; - rpc_class_hash *hash; - TsHashTable function_table; - MUTEX_T mx_handler; -} rpc_internal; - -/* proxy data */ -typedef struct _rpc_proxy { - zend_uint refcount; - zend_uint clonecount; -} rpc_proxy; - - -#endif /* HANDLER_H */
\ No newline at end of file |