+void statserv_add_soap_handler(int (*h)(struct bend_soap_rr *rr),
+ const char *ns)
+{
+ struct bend_soap_handler *sh = xmalloc(sizeof(*sh));
+
+ sh->handler = h;
+ sh->ns = xstrdup(ns);
+ sh->next = control_block.soap_handlers;
+ control_block.soap_handlers = sh;
+ yaz_log(LOG_LOG, "soap handler added");
+}
+
+static void statserv_reset(void)
+{
+ struct bend_soap_handler *sh = control_block.soap_handlers;
+
+ control_block.soap_handlers = 0;
+ while (sh)
+ {
+ struct bend_soap_handler *sh_next = sh->next;
+ xfree (sh->ns);
+ xfree (sh);
+ sh = sh_next;
+ }
+}
+