Release 1.6.4
[yazpp-moved-to-github.git] / include / yazpp / pdu-assoc.h
index eee460a..8683827 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of the yazpp toolkit.
- * Copyright (C) 1998-2012 Index Data and Mike Taylor
+ * Copyright (C) Index Data 
  * All rights reserved.
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -45,44 +45,37 @@ class YAZ_EXPORT PDU_Assoc : public IPDU_Observable, yazpp_1::ISocketObserver {
     friend class PDU_AssocThread;
     PDU_Assoc_priv *m_p;
     IPDU_Observer *m_PDU_Observer;
-
     int flush_PDU();
-    COMSTACK comstack(const char *type_and_host, void **vp);
  public:
-    /// Create object using specified socketObservable
     PDU_Assoc(yazpp_1::ISocketObservable *socketObservable);
-    /// Create Object using existing comstack
-    PDU_Assoc(yazpp_1::ISocketObservable *socketObservable,
-              COMSTACK cs);
+
+    PDU_Assoc(yazpp_1::ISocketObservable *socketObservable, COMSTACK cs);
+
+    COMSTACK get_comstack(); 
+
     virtual ~PDU_Assoc();
-    /// Close socket and destroy object.
-    /// virtual ~PDU_Assoc();
-    /// Clone the object
+
+    // optional feature implemented by PDU_Assoc (also by PDU_Asso_Thread)
+    virtual void childNotify(COMSTACK cs);
+
+    // mefhods below are from IPDU_Observable
     IPDU_Observable *clone();
-    /// Send PDU
     int send_PDU(const char *buf, int len);
-    /// connect to server (client role)
     int connect(IPDU_Observer *observer, const char *addr);
-    /// listen for clients (server role)
     int listen(IPDU_Observer *observer, const char *addr);
-    /// Socket notification
     void socketNotify(int event);
-    /// Close socket
     void shutdown();
-    /// Close and destroy
     void destroy();
-    /// Set Idle Time
     void idleTime(int timeout);
-    /// Child start...
-    virtual void childNotify(COMSTACK cs);
-    /// close session
     void close_session();
     const char *getpeername();
+    void set_cert_fname(const char *fname);
 };
 
 class YAZ_EXPORT PDU_AssocThread : public PDU_Assoc {
  public:
     PDU_AssocThread(yazpp_1::ISocketObservable *socketObservable);
+    virtual ~PDU_AssocThread();
  private:
     void childNotify(COMSTACK cs);