Readloop remove special cases
[citadel.git] / webcit / mk_module_init.sh
index e3c91a1a311c5212069c10c851e833a2c6825d7c..ae1cd375133a4c594c57fc073610fed36459eab6 100755 (executable)
@@ -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 <<EOF >> $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 <<EOF >> $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 <<EOF >> $H_FILE
+
+/* Server Init Hooks: */
+EOF
+
+cat <<EOF  >>$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 <<EOF >> $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 <<EOF >> $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 <<EOF >> $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 <<EOF >> $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 <<EOF >> $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 <<EOF >> $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 <<EOF  >>$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 <<EOF >> $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 <<EOF >> $H_FILE
@@ -353,16 +393,109 @@ EOF
 done
 
 
+cat <<EOF  >>$C_FILE
+       free((*sess));
+       (*sess) = NULL;
+}
+
+
+EOF
+
+
+
+
+
+#********************************************************************************
+# NEW-Httprequest module logic.
+#********************************************************************************
+cat <<EOF >> $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 <<EOF >> $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 <<EOF >> $H_FILE
+extern void $HOOK(ParsedHttpHdrs *httpreq);
+EOF
+done
+
+cat <<EOF  >>$C_FILE
+}
+EOF
 
+#********************************************************************************
+# DETACH-Httprequest module logic.
+#********************************************************************************
+cat <<EOF >> $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 <<EOF >> $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 <<EOF >> $H_FILE
+extern void $HOOK(ParsedHttpHdrs *httpreq);
+EOF
+done
 
 cat <<EOF  >>$C_FILE
 }
+EOF
+
 
+#********************************************************************************
+# DESTROY-Httprequest module logic.
+#********************************************************************************
+cat <<EOF >> $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 <<EOF >> $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 <<EOF >> $H_FILE
+extern void $HOOK(ParsedHttpHdrs *httpreq);
+EOF
+done
+
+cat <<EOF  >>$C_FILE
+}
 EOF
 
 
+
+
+
+
+
 cat <<EOF  >> $H_FILE
 
 #endif /* MODULES_INIT_H */