minor
[yazpp-moved-to-github.git] / include / yaz-pdu-assoc.h
index ff286c0..6576bb1 100644 (file)
@@ -1,12 +1,14 @@
 /*
- * Copyright (c) 1998-1999, Index Data.
+ * Copyright (c) 1998-2000, Index Data.
  * See the file LICENSE for details.
- * Sebastian Hammer, Adam Dickmeiss
  * 
- * $Id: yaz-pdu-assoc.h,v 1.6 1999-11-10 10:02:34 adam Exp $
+ * $Id: yaz-pdu-assoc.h,v 1.11 2000-09-12 16:40:33 heikki Exp $
  */
 
-#include <comstack.h>
+#ifndef YAZ_PDU_ASSOC_INCLUDED
+#define YAZ_PDU_ASSOC_INCLUDED
+
+#include <yaz/comstack.h>
 #include <yaz-socket-observer.h>
 #include <yaz-pdu-observer.h>
 
@@ -18,7 +20,7 @@
  */
 class YAZ_EXPORT Yaz_PDU_Assoc : public IYaz_PDU_Observable, IYazSocketObserver {
  private:
-    enum { Connecting, Connected, Listen, Ready, Closed } m_state;
+    enum { Connecting, Listen, Ready, Closed } m_state;
     class PDU_Queue {
     public:
        PDU_Queue(const char *buf, int len);
@@ -30,7 +32,6 @@ class YAZ_EXPORT Yaz_PDU_Assoc : public IYaz_PDU_Observable, IYazSocketObserver
     Yaz_PDU_Assoc *m_parent;
     Yaz_PDU_Assoc *m_children;
     Yaz_PDU_Assoc *m_next;
-    COMSTACK Yaz_PDU_Assoc::comstack();
     COMSTACK m_cs;
     IYazSocketObservable *m_socketObservable;
     IYaz_PDU_Observer *m_PDU_Observer;
@@ -40,11 +41,13 @@ class YAZ_EXPORT Yaz_PDU_Assoc : public IYaz_PDU_Observable, IYazSocketObserver
     int Yaz_PDU_Assoc::flush_PDU();
     int *m_destroyed;
     int m_idleTime;
+    int m_log;
  public:
+    COMSTACK comstack();
     /// Create object using specified socketObservable
-    Yaz_PDU_Assoc(IYazSocketObservable *socketObservable, COMSTACK cs = 0);
+    Yaz_PDU_Assoc(IYazSocketObservable *socketObservable);
     /// Close socket and destroy object.
-    virtual ~Yaz_PDU_Assoc();
+    /// virtual ~Yaz_PDU_Assoc();
     /// Clone the object
     IYaz_PDU_Observable *clone();
     /// Send PDU
@@ -53,6 +56,8 @@ class YAZ_EXPORT Yaz_PDU_Assoc : public IYaz_PDU_Observable, IYazSocketObserver
     void connect(IYaz_PDU_Observer *observer, const char *addr);
     /// listen for clients (server role)
     void listen(IYaz_PDU_Observer *observer, const char *addr);
+    /// open with existing socket
+    void socket(IYaz_PDU_Observer *observer, int fd);
     /// Socket notification
     void socketNotify(int event);
     /// Close socket
@@ -61,4 +66,8 @@ class YAZ_EXPORT Yaz_PDU_Assoc : public IYaz_PDU_Observable, IYazSocketObserver
     void destroy();
     /// Set Idle Time
     void idleTime (int timeout);
+    /// Child start...
+    virtual void childNotify(int fd);
 };
+
+#endif
\ No newline at end of file