GME  13
Defines | Functions | Variables
Optional Hook Functions
Hook Functions
Collaboration diagram for Optional 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

 APU_DECLARE (void) apr_optional_hook_add(const char *szName
 APU_DECLARE (apr_array_header_t *) apr_optional_hook_get(const char *szName)

Variables

void(* pfn )(void)
void(*) const char *const aszPre )
void(*) const char *const
const char *const 
aszSucc )
void(*) const char *const
const char *const in 
nOrder )

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:
nsThe namespace prefix of the hook functions
linkThe linkage declaration prefix of the hook
retThe type of the return value of the hook
retThe type of the return value of the hook
nameThe name of the hook
args_declThe declaration of the arguments for the hook
args_useThe names for the arguments for the hook
okSuccess value
declineDecline value

Definition at line 90 of file apr_optional_hooks.h.

#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:
nsThe namespace prefix of the hook functions
nameThe name of the hook
pfnA pointer to a function that will be called
aszPrea NULL-terminated array of strings that name modules whose hooks should precede this one
aszSucca NULL-terminated array of strings that name modules whose hooks should succeed this one
nOrderan integer determining order before honouring aszPre and aszSucc (for example HOOK_MIDDLE)

Definition at line 64 of file apr_optional_hooks.h.


Function Documentation

APU_DECLARE ( void  ) const

Function to implemnt the APR_OPTIONAL_HOOK Macro


Variable Documentation

void(*) const char* const aszPre)

Definition at line 49 of file apr_optional_hooks.h.

void(*) const char* const const char* const aszSucc)

Definition at line 49 of file apr_optional_hooks.h.

void(*) const char* const const char* const in nOrder)

Definition at line 49 of file apr_optional_hooks.h.

void(* pfn)(void)

Definition at line 48 of file apr_optional_hooks.h.