X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=include%2Fyaz%2B%2B%2Fpdu-assoc.h;h=e9ea4fb65cd1246c031ade93de5843b4ee31a6fb;hb=86726b00b052694e65b036c262f5fe9096554175;hp=e16c19f8a525d2ceaa680691cd349f86ffd4447a;hpb=ceb226cb18d96a6b3aa2dd6cff94aa27850362cf;p=yazpp-moved-to-github.git diff --git a/include/yaz++/pdu-assoc.h b/include/yaz++/pdu-assoc.h index e16c19f..e9ea4fb 100644 --- a/include/yaz++/pdu-assoc.h +++ b/include/yaz++/pdu-assoc.h @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2000, Index Data. + * Copyright (c) 1998-2003, Index Data. * See the file LICENSE for details. * - * $Id: pdu-assoc.h,v 1.1 2002-10-09 12:50:26 adam Exp $ + * $Id: pdu-assoc.h,v 1.6 2005-06-02 06:40:21 adam Exp $ */ #ifndef YAZ_PDU_ASSOC_INCLUDED @@ -12,13 +12,14 @@ #include #include +namespace yazpp_1 { /** Simple Protocol Data Unit Assocation. This object sends - and receives PDU's using the COMSTACK network utility. To use the association in client role, use the method connect. The server role is initiated by using the listen method. */ -class YAZ_EXPORT Yaz_PDU_Assoc : public IYaz_PDU_Observable, IYazSocketObserver { +class YAZ_EXPORT Yaz_PDU_Assoc : public IYaz_PDU_Observable, yazpp_1::IYazSocketObserver { friend class Yaz_PDU_AssocThread; private: enum { @@ -41,22 +42,23 @@ class YAZ_EXPORT Yaz_PDU_Assoc : public IYaz_PDU_Observable, IYazSocketObserver Yaz_PDU_Assoc *m_children; Yaz_PDU_Assoc *m_next; COMSTACK m_cs; - IYazSocketObservable *m_socketObservable; + yazpp_1::IYazSocketObservable *m_socketObservable; IYaz_PDU_Observer *m_PDU_Observer; char *m_input_buf; int m_input_len; PDU_Queue *m_queue_out; + PDU_Queue *m_queue_in; int Yaz_PDU_Assoc::flush_PDU(); int *m_destroyed; int m_idleTime; int m_log; - void init(IYazSocketObservable *socketObservable); + void init(yazpp_1::IYazSocketObservable *socketObservable); public: COMSTACK comstack(const char *type_and_host, void **vp); /// Create object using specified socketObservable - Yaz_PDU_Assoc(IYazSocketObservable *socketObservable); + Yaz_PDU_Assoc(yazpp_1::IYazSocketObservable *socketObservable); /// Create Object using existing comstack - Yaz_PDU_Assoc(IYazSocketObservable *socketObservable, + Yaz_PDU_Assoc(yazpp_1::IYazSocketObservable *socketObservable, COMSTACK cs); /// Close socket and destroy object. /// virtual ~Yaz_PDU_Assoc(); @@ -65,9 +67,9 @@ class YAZ_EXPORT Yaz_PDU_Assoc : public IYaz_PDU_Observable, IYazSocketObserver /// Send PDU int send_PDU(const char *buf, int len); /// connect to server (client role) - void connect(IYaz_PDU_Observer *observer, const char *addr); + int connect(IYaz_PDU_Observer *observer, const char *addr); /// listen for clients (server role) - void listen(IYaz_PDU_Observer *observer, const char *addr); + int listen(IYaz_PDU_Observer *observer, const char *addr); /// Socket notification void socketNotify(int event); /// Close socket @@ -78,14 +80,17 @@ class YAZ_EXPORT Yaz_PDU_Assoc : public IYaz_PDU_Observable, IYazSocketObserver void idleTime (int timeout); /// Child start... virtual void childNotify(COMSTACK cs); + const char *getpeername(); }; class YAZ_EXPORT Yaz_PDU_AssocThread : public Yaz_PDU_Assoc { public: - Yaz_PDU_AssocThread(IYazSocketObservable *socketObservable); + Yaz_PDU_AssocThread(yazpp_1::IYazSocketObservable *socketObservable); private: void childNotify(COMSTACK cs); }; +}; + #endif