Main Page   Packages   Modules   Data Structures   File List   Data Fields   Globals  

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
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:

((void (APR_THREAD_FUNC *)(const char *,ns##_HOOK_##name##_t *,const char * const *, \
               const char * const *,int))&apr_optional_hook_add)(#name,pfn,aszPre, \
                                                           aszSucc, nOrder)
Hook to an optional hook.
Parameters:
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)


Function Documentation

void apr_optional_hook_add const char *    szName,
void(*    pfn)(void),
const char *const *    aszPre,
const char *const *    aszSucc,
int    nOrder
 

Function to implemnt the APR_OPTIONAL_HOOK Macro


Generated on Fri Dec 26 01:49:08 2003 for Apache Portable Runtime Utility Library by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002