-/* $Id: recctrl.c,v 1.23 2006-04-26 11:12:31 adam Exp $
- Copyright (C) 1995-2005
+/* $Id: recctrl.c,v 1.27 2006-06-02 13:55:55 marc Exp $
+ Copyright (C) 1995-2006
Index Data ApS
This file is part of the Zebra server.
static void recTypeClass_add (struct recTypeClass **rts, RecType *rt,
NMEM nmem, void *module_handle);
+
RecTypeClass recTypeClass_create (Res res, NMEM nmem)
{
struct recTypeClass *rts = 0;
-#if HAVE_DLFCN_H
- const char *module_path = res_get_def(res, "modulePath",
- DEFAULT_MODULE_PATH);
-#endif
#ifdef IDZEBRA_STATIC_GRS_SGML
if (1)
recTypeClass_add (&rts, idzebra_filter_grs_sgml, nmem, 0);
}
#endif
+
#ifdef IDZEBRA_STATIC_TEXT
if (1)
{
recTypeClass_add (&rts, idzebra_filter_text, nmem, 0);
}
#endif
+
#ifdef IDZEBRA_STATIC_GRS_XML
#if HAVE_EXPAT_H
if (1)
}
#endif
#endif
+
#ifdef IDZEBRA_STATIC_GRS_REGX
if (1)
{
recTypeClass_add (&rts, idzebra_filter_grs_regx, nmem, 0);
}
#endif
+
#ifdef IDZEBRA_STATIC_GRS_MARC
if (1)
{
recTypeClass_add (&rts, idzebra_filter_grs_marc, nmem, 0);
}
#endif
-#ifdef IDZEBRA_STATIC_GRS_CSV
- if (1)
- {
- extern RecType idzebra_filter_grs_csv[];
- recTypeClass_add (&rts, idzebra_filter_grs_csv, nmem, 0);
- }
-#endif
-#ifdef IDZEBRA_STATIC_GRS_DANBIB
- if (1)
- {
- extern RecType idzebra_filter_grs_danbib[];
- recTypeClass_add (&rts, idzebra_filter_grs_danbib, nmem, 0);
- }
-#endif
+
#ifdef IDZEBRA_STATIC_SAFARI
if (1)
{
recTypeClass_add (&rts, idzebra_filter_safari, nmem, 0);
}
#endif
+
#ifdef IDZEBRA_STATIC_ALVIS
#if HAVE_XSLT
if (1)
}
#endif
#endif
-#ifdef IDZEBRA_STATIC_XSLT
-#if HAVE_XSLT
- if (1)
- {
- extern RecType idzebra_filter_xslt[];
- recTypeClass_add (&rts, idzebra_filter_xslt, nmem, 0);
- }
-#endif
-#endif
+ return rts;
+}
+
+void recTypeClass_load_modules(RecTypeClass *rts, NMEM nmem,
+ const char *module_path)
+{
#if HAVE_DLFCN_H
if (module_path)
{
if (mod_p && (fl = dlsym(mod_p, "idzebra_filter")))
{
yaz_log(YLOG_LOG, "Loaded filter module %s", fname);
- recTypeClass_add(&rts, fl, nmem, mod_p);
+ recTypeClass_add(rts, fl, nmem, mod_p);
}
else if (mod_p)
{
}
}
#endif
- return rts;
}
-static void recTypeClass_add (struct recTypeClass **rts, RecType *rt,
- NMEM nmem, void *module_handle)
+static void recTypeClass_add(struct recTypeClass **rts, RecType *rt,
+ NMEM nmem, void *module_handle)
{
while (*rt)
{
return 0;
}
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+