SESS_DETACH_FUNCS=`grep SessionDetachModule_ *.c |sed "s;.*:;;" |sort -u`
SESS_DESTROY_FUNCS=`grep SessionDestroyModule_ *.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`
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_detach_modules (ParsedHttpHdrs *httpreq);
+void http_destroy_modules (ParsedHttpHdrs *httpreq);
}
-void session_destroy_modules (wcsession *sess)
+void session_destroy_modules (wcsession **sess)
{
EOF
#ifdef DBG_PRINNT_HOOKS_AT_START
lprintf (CTDL_INFO, "Initializing $HOOKNAME\n");
#endif
- $HOOK(sess);
+ $HOOK(*sess);
EOF
# Add this entry point to the .h file
cat <<EOF >> $H_FILE
done
+cat <<EOF >>$C_FILE
+ free((*sess));
+ (*sess) = NULL;
+}
+
+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
+ lprintf (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
+ lprintf (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 */