X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fmk_module_init.sh;h=ae1cd375133a4c594c57fc073610fed36459eab6;hb=4b4dc864ede7c5d8d956febe4a0afb422b78e7c4;hp=e3c91a1a311c5212069c10c851e833a2c6825d7c;hpb=27e6a22f021cffe2cee1a41accbf9d2f78b20dab;p=citadel.git diff --git a/webcit/mk_module_init.sh b/webcit/mk_module_init.sh index e3c91a1a3..ae1cd3751 100755 --- a/webcit/mk_module_init.sh +++ b/webcit/mk_module_init.sh @@ -34,6 +34,7 @@ rm -f $C_FILE $H_FILE # server lifetime: START_FUNCS=`grep ServerStartModule_ *.c |sed "s;.*:;;" |sort -u` INIT_FUNCS=`grep InitModule_ *.c |sed "s;.*:;;" |sort -u` +INIT2_FUNCS=`grep InitModule2_ *.c |sed "s;.*:;;" |sort -u` FINALIZE_FUNCS=`grep FinalizeModule_ *.c |sed "s;.*:;;" |sort -u` SHUTDOWN_FUNCS=`grep ServerShutdownModule_ *.c |sed "s;.*:;;" |sort -u` @@ -43,6 +44,10 @@ SESS_ATTACH_FUNCS=`grep SessionAttachModule_ *.c |sed "s;.*:;;" |sort -u` SESS_DETACH_FUNCS=`grep SessionDetachModule_ *.c |sed "s;.*:;;" |sort -u` SESS_DESTROY_FUNCS=`grep SessionDestroyModule_ *.c |sed "s;.*:;;" |sort -u` +HTTP_NEW_FUNCS=`grep HttpNewModule_ *.c |sed "s;.*:;;" |sort -u` +HTTP_DETACH_FUNCS=`grep HttpDetachModule_ *.c |sed "s;.*:;;" |sort -u` +HTTP_DESTROY_FUNCS=`grep HttpDestroyModule_ *.c |sed "s;.*:;;" |sort -u` + #SESS_NEW_FUNCS=`grep SessionNewModule_ *.c |sed "s;.*:;;" |sort -u` @@ -64,6 +69,7 @@ extern size_t nSizErrmsg; * server lifetime: */ void initialise_modules (void); +void initialise2_modules (void); void start_modules (void); void shutdown_modules (void); @@ -74,7 +80,11 @@ void shutdown_modules (void); void session_new_modules (wcsession *sess); void session_attach_modules (wcsession *sess); void session_detach_modules (wcsession *sess); -void session_destroy_modules (wcsession *sess); +void session_destroy_modules (wcsession **sess); + +void http_new_modules (ParsedHttpHdrs *httpreq); +void http_detach_modules (ParsedHttpHdrs *httpreq); +void http_destroy_modules (ParsedHttpHdrs *httpreq); @@ -147,7 +157,7 @@ HOOKNAME=`echo $HOOK |sed "s;ServerStartModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START - lprintf (CTDL_INFO, "Starting $HOOKNAME\n"); + syslog(CTDL_INFO, "Starting $HOOKNAME\n"); #endif $HOOK(); EOF @@ -179,7 +189,7 @@ for HOOK in $INIT_FUNCS; do # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START - lprintf (CTDL_INFO, "Initializing $HOOKNAME\n"); + syslog(CTDL_INFO, "Initializing $HOOKNAME\n"); #endif $HOOK(); EOF @@ -189,6 +199,36 @@ extern void $HOOK(void); EOF done +#******************************************************************************** +# server module ******** initialisation ******** second stage. +#******************************************************************************** +cat <> $H_FILE + +/* Server Init Hooks: */ +EOF + +cat <>$C_FILE +} + + +void initialise2_modules (void) +{ + +EOF +for HOOK in $INIT2_FUNCS; do + HOOKNAME=`echo $HOOK |sed "s;InitModule2_;;"` +# Add this entry point to the .c file + cat <> $C_FILE +#ifdef DBG_PRINNT_HOOKS_AT_START + syslog(CTDL_INFO, "Initializing $HOOKNAME\n"); +#endif + $HOOK(); +EOF +# Add this entry point to the .h file + cat <> $H_FILE +extern void $HOOK(void); +EOF +done @@ -212,7 +252,7 @@ HOOKNAME=`echo $HOOK |sed "s;ServerShutdownModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START - lprintf (CTDL_INFO, "Shutting down $HOOKNAME\n"); + syslog(CTDL_INFO, "Shutting down $HOOKNAME\n"); #endif $HOOK(); EOF @@ -245,7 +285,7 @@ HOOKNAME=`echo $HOOK |sed "s;SessionNewModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START - lprintf (CTDL_INFO, "Initializing $HOOKNAME\n"); + syslog(CTDL_INFO, "Initializing $HOOKNAME\n"); #endif $HOOK(sess); EOF @@ -277,7 +317,7 @@ HOOKNAME=`echo $HOOK |sed "s;SessionAttachModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START - lprintf (CTDL_INFO, "Attaching Session; $HOOKNAME\n"); + syslog(CTDL_INFO, "Attaching Session; $HOOKNAME\n"); #endif $HOOK(sess); EOF @@ -309,7 +349,7 @@ HOOKNAME=`echo $HOOK |sed "s;SessionDetachModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START - lprintf (CTDL_INFO, "Initializing $HOOKNAME\n"); + syslog(CTDL_INFO, "Initializing $HOOKNAME\n"); #endif $HOOK(sess); EOF @@ -333,7 +373,7 @@ cat <>$C_FILE } -void session_destroy_modules (wcsession *sess) +void session_destroy_modules (wcsession **sess) { EOF @@ -342,9 +382,9 @@ HOOKNAME=`echo $HOOK |sed "s;SessionDestroyModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START - lprintf (CTDL_INFO, "Initializing $HOOKNAME\n"); + syslog(CTDL_INFO, "Initializing $HOOKNAME\n"); #endif - $HOOK(sess); + $HOOK(*sess); EOF # Add this entry point to the .h file cat <> $H_FILE @@ -353,16 +393,109 @@ EOF done +cat <>$C_FILE + free((*sess)); + (*sess) = NULL; +} + + +EOF + + + + + +#******************************************************************************** +# NEW-Httprequest module logic. +#******************************************************************************** +cat <> $C_FILE + +void http_new_modules (ParsedHttpHdrs *httpreq) +{ +EOF + +for HOOK in $HTTP_NEW_FUNCS; do +HOOKNAME=`echo $HOOK |sed "s;HttpNewModule_;;"` +# Add this entry point to the .c file +cat <> $C_FILE +#ifdef DBG_PRINNT_HOOKS_AT_START + syslog(CTDL_INFO, "NEW $HOOKNAME\n"); +#endif + $HOOK(httpreq); +EOF +# Add this entry point to the .h file +cat <> $H_FILE +extern void $HOOK(ParsedHttpHdrs *httpreq); +EOF +done + +cat <>$C_FILE +} +EOF +#******************************************************************************** +# DETACH-Httprequest module logic. +#******************************************************************************** +cat <> $C_FILE +void http_detach_modules (ParsedHttpHdrs *httpreq) +{ +EOF +for HOOK in $HTTP_DETACH_FUNCS; do +HOOKNAME=`echo $HOOK |sed "s;HttpDetachModule_;;"` +# Add this entry point to the .c file +cat <> $C_FILE +#ifdef DBG_PRINNT_HOOKS_AT_START + syslog(CTDL_INFO, "Detaching $HOOKNAME\n"); +#endif + $HOOK(httpreq); +EOF +# Add this entry point to the .h file +cat <> $H_FILE +extern void $HOOK(ParsedHttpHdrs *httpreq); +EOF +done cat <>$C_FILE } +EOF + +#******************************************************************************** +# DESTROY-Httprequest module logic. +#******************************************************************************** +cat <> $C_FILE + +void http_destroy_modules (ParsedHttpHdrs *httpreq) +{ +EOF + +for HOOK in $HTTP_DESTROY_FUNCS; do +HOOKNAME=`echo $HOOK |sed "s;HttpDestroyModule_;;"` +# Add this entry point to the .c file +cat <> $C_FILE +#ifdef DBG_PRINNT_HOOKS_AT_START + syslog(CTDL_INFO, "Destructing $HOOKNAME\n"); +#endif + $HOOK(httpreq); +EOF +# Add this entry point to the .h file +cat <> $H_FILE +extern void $HOOK(ParsedHttpHdrs *httpreq); +EOF +done + +cat <>$C_FILE +} EOF + + + + + cat <> $H_FILE #endif /* MODULES_INIT_H */