Defines | |
| #define | APR_OPTIONAL_HOOK(ns, name, pfn, aszPre, aszSucc, nOrder) |
| #define | APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ns, link, ret, name, args_decl, args_use, ok, decline) |
Functions | |
| void | apr_optional_hook_add (const char *szName, void(*pfn)(void), const char *const *aszPre, const char *const *aszSucc, int nOrder) |
| apr_array_header_t * | apr_optional_hook_get (const char *szName) |
| #define APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL | ( | ns, | |||
| link, | |||||
| ret, | |||||
| name, | |||||
| args_decl, | |||||
| args_use, | |||||
| ok, | |||||
| decline | ) |
Value:
link##_DECLARE(ret) ns##_run_##name args_decl \ { \ ns##_LINK_##name##_t *pHook; \ int n; \ ret rv; \ apr_array_header_t *pHookArray=apr_optional_hook_get(#name); \ \ if(!pHookArray) \ return ok; \ \ pHook=(ns##_LINK_##name##_t *)pHookArray->elts; \ for(n=0 ; n < pHookArray->nelts ; ++n) \ { \ rv=(pHook[n].pFunc)args_use; \ \ if(rv != ok && rv != decline) \ return rv; \ } \ return ok; \ }
| ns | The namespace prefix of the hook functions | |
| link | The linkage declaration prefix of the hook | |
| ret | The type of the return value of the hook | |
| ret | The type of the return value of the hook | |
| name | The name of the hook | |
| args_decl | The declaration of the arguments for the hook | |
| args_use | The names for the arguments for the hook | |
| ok | Success value | |
| decline | Decline value |
| #define APR_OPTIONAL_HOOK | ( | ns, | |||
| name, | |||||
| pfn, | |||||
| aszPre, | |||||
| aszSucc, | |||||
| nOrder | ) |
Value:
do { \ ns##_HOOK_##name##_t *apu__hook = pfn; \ apr_optional_hook_add(#name,(void (*)(void))apu__hook,aszPre, aszSucc, nOrder); \ } while (0)
| ns | The namespace prefix of the hook functions | |
| name | The name of the hook | |
| pfn | A pointer to a function that will be called | |
| aszPre | a NULL-terminated array of strings that name modules whose hooks should precede this one | |
| aszSucc | a NULL-terminated array of strings that name modules whose hooks should succeed this one | |
| nOrder | an integer determining order before honouring aszPre and aszSucc (for example HOOK_MIDDLE) |
| void apr_optional_hook_add | ( | const char * | szName, | |
| void(*)(void) | pfn, | |||
| const char *const * | aszPre, | |||
| const char *const * | aszSucc, | |||
| int | nOrder | |||
| ) |
Function to implemnt the APR_OPTIONAL_HOOK Macro
1.5.2