Handle multiple input PDU packages using GDU class of YAZ++ 1.0.
[yazproxy-moved-to-github.git] / include / yazproxy / module.h
index 7afbff5..d28929f 100644 (file)
@@ -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