ongoing development ...

This commit is contained in:
Harald Radi 2002-03-15 23:28:10 +00:00
parent 207f26ae91
commit c1fe9cd279
7 changed files with 268 additions and 66 deletions

View file

@ -1,11 +1,20 @@
#ifndef RPC_H
#define RPC_H
#define CONSTRUCTOR __construct
#define CONSTRUCTOR_FN ZEND_FN(__construct)
#define FOREACH_HANDLER for (__handler_counter=0; __handler_counter < HANDLER_COUNT; __handler_counter++)
#define HANDLER handler_entries[__handler_counter]
#define HANDLER_COUNT (sizeof(handler_entries) / sizeof(rpc_handler_entry))
#define GET_INTERNAL(intern) GET_INTERNAL_EX(intern, object)
#define GET_INTERNAL_EX(intern, object) rpc_internal **intern; \
zend_hash_index_find(RPC_G(instance), object->value.obj.handle, (void **) &intern);
#define GET_INTERNAL(intern) rpc_internal **intern; \
GET_INTERNAL_EX(intern, object)
#define GET_INTERNAL_EX(intern, object) if (zend_hash_index_find(instance, object->value.obj.handle, (void **) &intern) == FAILURE) { \
/* TODO: exception */ \
}
#define RPC_REFCOUNT(intern) ((*intern)->refcount)
#define RPC_ADDREF(intern) (++RPC_REFCOUNT(intern))
#define RPC_DELREF(intern) (--RPC_REFCOUNT(intern))
static int __handler_counter;
#endif