From: Adam Dickmeiss Date: Fri, 9 Nov 2012 14:29:02 +0000 (+0100) Subject: PDU_Assoc: comstack helper method to priv X-Git-Tag: v1.4.0~16 X-Git-Url: http://sru.miketaylor.org.uk/cgi-bin?a=commitdiff_plain;h=1712037ea49f815f10b68b4231dca7a91802ff04;p=yazpp-moved-to-github.git PDU_Assoc: comstack helper method to priv Also re-order methods in PDU_Assoc a bit to make it clearer WRT categories. --- diff --git a/include/yazpp/pdu-assoc.h b/include/yazpp/pdu-assoc.h index a89c75f..5e4d545 100644 --- a/include/yazpp/pdu-assoc.h +++ b/include/yazpp/pdu-assoc.h @@ -45,36 +45,26 @@ 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); - /// virtual ~PDU_Assoc(); + + PDU_Assoc(yazpp_1::ISocketObservable *socketObservable, COMSTACK cs); + 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(); }; diff --git a/src/yaz-pdu-assoc.cpp b/src/yaz-pdu-assoc.cpp index 88006bb..ba962dc 100644 --- a/src/yaz-pdu-assoc.cpp +++ b/src/yaz-pdu-assoc.cpp @@ -52,6 +52,7 @@ namespace yazpp_1 { int idleTime; int log; void init(yazpp_1::ISocketObservable *socketObservable); + COMSTACK comstack(const char *type_and_host, void **vp); bool m_session_is_dead; }; } @@ -463,7 +464,7 @@ int PDU_Assoc::send_PDU(const char *buf, int len) return 0; } -COMSTACK PDU_Assoc::comstack(const char *type_and_host, void **vp) +COMSTACK PDU_Assoc_priv::comstack(const char *type_and_host, void **vp) { return cs_create_host(type_and_host, 2, vp); } @@ -497,7 +498,7 @@ int PDU_Assoc::listen(IPDU_Observer *observer, const char *addr) m_PDU_Observer = observer; void *ap; - m_p->cs = comstack(addr, &ap); + m_p->cs = m_p->comstack(addr, &ap); if (!m_p->cs) return -1; @@ -535,7 +536,7 @@ int PDU_Assoc::connect(IPDU_Observer *observer, const char *addr) shutdown(); m_PDU_Observer = observer; void *ap; - m_p->cs = comstack(addr, &ap); + m_p->cs = m_p->comstack(addr, &ap); if (!m_p->cs) return -1; int res = cs_connect(m_p->cs, ap);