"optional" part is that the module that /defines/ the hook (and calls it) might not actually be present itself, so modules that wish to participate in that hook should not be broken by that other module's absense.
Okay.
So, I would something like this in a "caller":
static APR_OPTIONAL_FN_TYPE(ap_register_status_state) *register_state = NULL;
static APR_OPTIONAL_FN_TYPE(ap_status_state_set) *set_state = NULL;
static int foo_state;
in post_config:
register_state = APR_RETRIEVE_OPTIONAL_FN(ap_register_status_state); set_state = APR_RETRIEVE_OPTIONAL_FN(ap_status_state_set);
if(register_state ) {
foo_state = register_state("Doing foo");
}
then in my handler or filter:
if(set_state) {
set_state(foo_state);
}
Or something similar?
-- Brian Akins Lead Systems Engineer CNN Internet Technologies
