X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=include%2Fyazproxy%2Fmodule.h;h=d28929f6dc08d747b6e2e994f96679f6c8913f8a;hb=e7f41bcf7b9b13a3a744ade63f5c00ba9097c990;hp=7afbff55cf6ce5e178d2917f9e7c8cbb94bcf22b;hpb=e9a5a9feeb12335c668b73dbb6385908be6806f1;p=yazproxy-moved-to-github.git diff --git a/include/yazproxy/module.h b/include/yazproxy/module.h index 7afbff5..d28929f 100644 --- a/include/yazproxy/module.h +++ b/include/yazproxy/module.h @@ -1,4 +1,4 @@ -/* $Id: module.h,v 1.2 2005-02-21 14:27:31 adam Exp $ +/* $Id: module.h,v 1.5 2005-06-21 18:46:04 adam Exp $ Copyright (c) 1998-2005, Index Data. This file is part of the yaz-proxy. @@ -46,8 +46,29 @@ struct Yaz_ProxyModule_int0 { void *element_ptr, // xmlnodePtr thing to XML config this const char *user, // User ID (or NULL if no suppliied User ID) const char *group, // Group ID (or NULL if no supplied Group ID) - const char *pw // Password (or NULL if no supplied password) + const char *pw, // Password (or NULL if no supplied password) + const char *peer_IP// IP address of client ); }; +class Yaz_ProxyModule; + +class Yaz_ProxyModules { + friend class Proxy_Msg; + public: + Yaz_ProxyModules(); + ~Yaz_ProxyModules(); + int authenticate(const char *module_name, + const char *target_name, void *element_ptr, + const char *user, + const char *group, + const char *password, + const char *peer_IP); + int add_module(const char *fname); + void unload_modules(); + private: + Yaz_ProxyModule *m_list; + int m_no_open; +}; + #endif