-/* $Id: modules.cpp,v 1.4 2005-06-25 15:58:33 adam Exp $
- Copyright (c) 1998-2005, Index Data.
-
-This file is part of the yaz-proxy.
+/* This file is part of YAZ proxy
+ Copyright (C) 1998-2008 Index Data
YAZ proxy is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
for more details.
You should have received a copy of the GNU General Public License
-along with YAZ proxy; see the file LICENSE. If not, write to the
-Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
- */
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
#include <string.h>
#if HAVE_DLFCN_H
private:
void *m_dl_handle; /* dlopen/close handle */
Yaz_ProxyModule_entry *m_entry;
- Yaz_ProxyModule *m_next;
+ Yaz_ProxyModule *m_next;
void *m_user_handle; /* user handle */
public:
Yaz_ProxyModule(void *dl_handle, Yaz_ProxyModule_entry *ent,
Yaz_ProxyModule *next);
~Yaz_ProxyModule();
-
+
Yaz_ProxyModule *get_next() { return m_next; };
int is_module(const char *name);
int authenticate(const char *target_name, void *element_ptr,
{
struct Yaz_ProxyModule_int0 *int0 =
reinterpret_cast<Yaz_ProxyModule_int0 *>(m_entry->fl);
-
+
if (!int0->authenticate)
return YAZPROXY_RET_NOT_ME;
return (*int0->authenticate)(m_user_handle, name, element_ptr,
if (dl_handle)
{
Yaz_ProxyModule_entry *fl_ptr = 0;
- fl_ptr = reinterpret_cast<Yaz_ProxyModule_entry *>
+ fl_ptr = reinterpret_cast<Yaz_ProxyModule_entry *>
(dlsym(dl_handle, "yazproxy_module"));
if (fl_ptr)
{
m_list = m;
m_no_open++;
- yaz_log(YLOG_LOG, "Loaded module no_open=%d", m_no_open);
+ yaz_log(YLOG_LOG, "Loaded module %s OK", fname);
return 0;
}
else
{
+ yaz_log(YLOG_WARN, "Failed loading module %s - missing symbols",
+ fname);
return -1;
dlclose(dl_handle);
}
}
else
+ {
+ yaz_log(YLOG_WARN, "Failed loading module %s", fname);
return -1;
+ }
#else
+ yaz_log(YLOG_WARN, "Failed loading module %s - no module support", fname);
return -1;
#endif
}