diff options
Diffstat (limited to 'ext/rpc/handler.h')
-rw-r--r-- | ext/rpc/handler.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/ext/rpc/handler.h b/ext/rpc/handler.h new file mode 100644 index 0000000000..cb13c90a49 --- /dev/null +++ b/ext/rpc/handler.h @@ -0,0 +1,25 @@ +#ifndef HANDLER_H +#define HANDLER_H + +#include "php.h" + +#define RPC_HANDLER(layer) {#layer, layer##_handler_init, &layer##_object_handlers, &layer##_class_entry} +#define RPC_DECLARE_HANDLER(layer) void layer##_handler_init(); \ + rpc_object_handlers layer##_object_handlers; \ + zend_class_entry layer##_class_entry; +#define RPC_INIT_FUNCTION(layer) void layer##_handler_init() +#define RPC_REGISTER_HANDLERS(layer) zend_class_entry layer##_class_entry; \ + rpc_object_handlers layer##object_handlers; + +typedef struct _rpc_object_handlers { + int i; +} rpc_object_handlers; + +typedef struct _rpc_handler_entry { + char *name; + void (*rpc_handler_init)(); + rpc_object_handlers *handlers; + zend_class_entry *ce; +} rpc_handler_entry; + +#endif /* HANDLER_H */
\ No newline at end of file |