Fixed serious bug regarding timeouts. Improved logging for proxy.
[yazpp-moved-to-github.git] / include / yaz-z-assoc.h
index e8c2a1a..fdca6b4 100644 (file)
@@ -3,11 +3,11 @@
  * See the file LICENSE for details.
  * Sebastian Hammer, Adam Dickmeiss
  * 
- * $Id: yaz-z-assoc.h,v 1.3 1999-04-21 12:09:01 adam Exp $
+ * $Id: yaz-z-assoc.h,v 1.7 2000-08-07 14:19:59 adam Exp $
  */
 
-#include <proto.h>
-#include <odr.h>
+#include <yaz/proto.h>
+#include <yaz/odr.h>
 #include <yaz-pdu-observer.h>
 
 /** Z39.50 Assocation.
@@ -23,11 +23,11 @@ class YAZ_EXPORT Yaz_Z_Assoc : public IYaz_PDU_Observer {
     /// Receive PDU
     void recv_PDU(const char *buf, int len);
     /// Connect notification
-    void connectNotify();
+    virtual void connectNotify() = 0;
     /// Failure notification
-    void failNotify();
+    virtual void failNotify() = 0;
     /// Timeout notification
-    void timeoutNotify();
+    virtual void timeoutNotify() = 0;
     /// Timeout specify
     void timeout(int timeout);
     /// Begin Z39.50 client role
@@ -51,11 +51,14 @@ class YAZ_EXPORT Yaz_Z_Assoc : public IYaz_PDU_Observer {
     ODR odr_decode ();
     ODR odr_print ();
 
+    void set_APDU_log(const char *fname);
+    const char *get_APDU_log();
+
     /// OtherInformation
     void get_otherInfoAPDU(Z_APDU *apdu, Z_OtherInformation ***oip);
     Z_OtherInformationUnit *update_otherInformation (
        Z_OtherInformation **otherInformationP, int createFlag,
-       int *oid, int categoryValue);
+       int *oid, int categoryValue, int deleteFlag);
     void set_otherInformationString (
        Z_OtherInformation **otherInformationP,
        int *oid, int categoryValue,
@@ -68,7 +71,11 @@ class YAZ_EXPORT Yaz_Z_Assoc : public IYaz_PDU_Observer {
        Z_APDU *apdu,
        int oidval, int categoryValue,
        const char *str);
-    void set_apdu_log(const char *file);
+
+    Z_ReferenceId* getRefID(char* str);
+
+    const char *get_hostname();
+
  private:
     static int yaz_init_flag;
     static int yaz_init_func();
@@ -76,4 +83,8 @@ class YAZ_EXPORT Yaz_Z_Assoc : public IYaz_PDU_Observer {
     ODR m_odr_in;
     ODR m_odr_out;
     ODR m_odr_print;
+    int m_log;
+    FILE *m_APDU_file;
+    char *m_APDU_fname;
+    char *m_hostname;
 };