Optional Hook Functions
[Hook Functions]

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 Documentation

#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; \
    }

Implement an optional hook that runs until one of the functions returns something other than OK or DECLINE.

Parameters:
ns The namespace prefix of the hook functions
Parameters:
link The linkage declaration prefix of the hook
Parameters:
ret The type of the return value of the hook
Parameters:
ret The type of the return value of the hook
Parameters:
name The name of the hook
Parameters:
args_decl The declaration of the arguments for the hook
Parameters:
args_use The names for the arguments for the hook
Parameters:
ok Success value
Parameters:
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)

Hook to an optional hook.

Parameters:
ns The namespace prefix of the hook functions
Parameters:
name The name of the hook
Parameters:
pfn A pointer to a function that will be called
Parameters:
aszPre a NULL-terminated array of strings that name modules whose hooks should precede this one
Parameters:
aszSucc a NULL-terminated array of strings that name modules whose hooks should succeed this one
Parameters:
nOrder an integer determining order before honouring aszPre and aszSucc (for example HOOK_MIDDLE)

Function Documentation

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

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Generated on Thu Dec 24 03:22:13 2015 for Apache Portable Runtime Utility Library by  doxygen 1.6.3