|
#define | GATE_STRIP_PARENTHESES(...) __VA_ARGS__ |
|
#define | GATE_METHOD0(rettype, methodname) rettype ( * methodname ) ( void * thisptr) |
|
#define | GATE_METHOD1(rettype, methodname, a1) rettype ( * methodname ) ( void* thisptr, a1) |
|
#define | GATE_METHOD2(rettype, methodname, a1, a2) rettype ( * methodname ) ( void* thisptr, a1, a2) |
|
#define | GATE_METHOD3(rettype, methodname, a1, a2, a3) rettype ( * methodname ) ( void* thisptr, a1, a2, a3) |
|
#define | GATE_METHOD4(rettype, methodname, a1, a2, a3, a4) rettype ( * methodname ) ( void* thisptr, a1, a2, a3, a4) |
|
#define | GATE_METHOD5(rettype, methodname, a1, a2, a3, a4, a5) rettype ( * methodname ) ( void* thisptr, a1, a2, a3, a4, a5) |
|
#define | GATE_METHOD6(rettype, methodname, a1, a2, a3, a4, a5, a6) rettype ( * methodname ) ( void* thisptr, a1, a2, a3, a4, a5, a6) |
|
#define | GATE_METHOD7(rettype, methodname, a1, a2, a3, a4, a5, a6, a7) rettype ( * methodname ) ( void* thisptr, a1, a2, a3, a4, a5, a6, a7) |
|
#define | GATE_METHOD8(rettype, methodname, a1, a2, a3, a4, a5, a6, a7, a8) rettype ( * methodname ) ( void* thisptr, a1, a2, a3, a4, a5, a6, a7, a8) |
|
#define | GATE_METHOD9(rettype, methodname, a1, a2, a3, a4, a5, a6, a7, a8, a9) rettype ( * methodname ) ( void* thisptr, a1, a2, a3, a4, a5, a6, a7, a8, a9) |
|
#define | GATE_METHOD(rettype, methodname, args) rettype ( * methodname ) ( void* thisptr, GATE_STRIP_PARENTHESES(args) ) |
|
#define | GATE_INTERFACE_NAME_SEPARATOR_CHAR '/' |
|
#define | GATE_INTERFACE_NAME_SEPARATOR "/" |
|
#define | GATE_INTERFACE_VTBL(ifacename) ifacename ## _vtbl_t |
|
#define | GATE_INTERFACE_STRUCT(ifacename) struct ifacename ## _interface |
|
#define | GATE_INTERFACE(ifacename) |
|
#define | GATE_OBJECT_CALL(obj, method, params) (obj)->vtbl-> method ((obj), GATE_STRIP_PARENTHESES params) |
|
#define | GOCALL(obj, method, params) GATE_OBJECT_CALL(obj, method, params) |
|
#define | GOCALL0(obj, method) (obj)->vtbl-> method ((obj)) |
|
#define | GATE_INTERFACE_NAME_OBJECT "object" |
|
#define | gate_object_get_interface_name(obj) ((gate_object_ptr_t)(obj))->vtbl->get_interface_name((obj)) |
| See gate_object_t::get_interface_name.
|
|
#define | gate_object_release(obj) ((gate_object_ptr_t)(obj))->vtbl->release((obj)) |
| See gate_object_t::release.
|
|
#define | gate_object_retain(obj) ((gate_object_ptr_t)(obj))->vtbl->retain((obj)) |
| See gate_object_t::retain.
|
|
#define | GATE_INTERFACE_NAME_RUNNABLE GATE_INTERFACE_NAME_OBJECT GATE_INTERFACE_NAME_SEPARATOR "runnable" |
|
#define | gate_runnable_run(obj) ((gate_runnable_t*)(obj))->vtbl->run((obj)) |
| See gate_runnable_t::run.
|
|
#define | GATE_INTERFACE_NAME_CLONEABLE GATE_INTERFACE_NAME_OBJECT GATE_INTERFACE_NAME_SEPARATOR "cloneable" |
|
#define | gate_cloneable_clone(obj, ptrnewclone) ((gate_cloneable_t*)(obj))->vtbl->clone((obj), (ptrnewclone)) |
| See gate_clonable_t::clone.
|
|
#define | GATE_INTERFACE_NAME_STARTABLE GATE_INTERFACE_NAME_OBJECT GATE_INTERFACE_NAME_SEPARATOR "startable" |
|
#define | gate_startable_start(obj) ((gate_startable_t*)(obj))->vtbl->start((obj)) |
| See gate_startable_t::start.
|
|
#define | gate_startable_stop(obj) ((gate_startable_t*)(obj))->vtbl->stop((obj)) |
| See gate_startable_t::stop.
|
|
#define | gate_startable_get_status(obj) ((gate_startable_t*)(obj))->vtbl->get_status((obj)) |
| See gate_startable_t::get_status.
|
|
#define | GATE_INTERFACE_NAME_MEMORYBLOCK GATE_INTERFACE_NAME_OBJECT GATE_INTERFACE_NAME_SEPARATOR "memoryblock" |
|
#define | gate_memoryblock_get_size(obj) (obj)->vtbl->get_size((obj)) |
|
#define | gate_memoryblock_get_content(obj) (obj)->vtbl->get_content((obj)) |
|
#define | GATE_OBJECT_IMPLEMENTS(obj, interface_name) gate_object_implements_interface((gate_object_t*)(obj), (interface_name)) |
| Macro that cast any obj pointer into gate_object_t* and invokes gate_object_implements_interface .
|
|
C object class definition functions and macros.