X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2B%2B%2Fpdu-assoc.h;h=b981174f1511a2c098e8b1f921c37a205acb87b6;hb=76d66b222afff97cf367a3e7b8bfe045a62d0d57;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..b981174 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-2005, 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.9 2006-03-28 19:51:38 adam Exp $ */ #ifndef YAZ_PDU_ASSOC_INCLUDED @@ -12,62 +12,64 @@ #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 { - friend class Yaz_PDU_AssocThread; +class YAZ_EXPORT PDU_Assoc : public IPDU_Observable, yazpp_1::ISocketObserver { + friend class PDU_AssocThread; private: enum { - Connecting, - Listen, - Ready, - Closed, - Writing, - Accepting + Connecting, + Listen, + Ready, + Closed, + Writing, + Accepting } m_state; class PDU_Queue { public: - PDU_Queue(const char *buf, int len); - PDU_Queue::~PDU_Queue(); - char *m_buf; - int m_len; - PDU_Queue *m_next; + PDU_Queue(const char *buf, int len); + ~PDU_Queue(); + char *m_buf; + int m_len; + PDU_Queue *m_next; }; - Yaz_PDU_Assoc *m_parent; - Yaz_PDU_Assoc *m_children; - Yaz_PDU_Assoc *m_next; + PDU_Assoc *m_parent; + PDU_Assoc *m_children; + PDU_Assoc *m_next; COMSTACK m_cs; - IYazSocketObservable *m_socketObservable; - IYaz_PDU_Observer *m_PDU_Observer; + yazpp_1::ISocketObservable *m_socketObservable; + IPDU_Observer *m_PDU_Observer; char *m_input_buf; int m_input_len; PDU_Queue *m_queue_out; - int Yaz_PDU_Assoc::flush_PDU(); + PDU_Queue *m_queue_in; + int flush_PDU(); int *m_destroyed; int m_idleTime; int m_log; - void init(IYazSocketObservable *socketObservable); + void init(yazpp_1::ISocketObservable *socketObservable); public: COMSTACK comstack(const char *type_and_host, void **vp); /// Create object using specified socketObservable - Yaz_PDU_Assoc(IYazSocketObservable *socketObservable); + PDU_Assoc(yazpp_1::ISocketObservable *socketObservable); /// Create Object using existing comstack - Yaz_PDU_Assoc(IYazSocketObservable *socketObservable, - COMSTACK cs); + PDU_Assoc(yazpp_1::ISocketObservable *socketObservable, + COMSTACK cs); /// Close socket and destroy object. - /// virtual ~Yaz_PDU_Assoc(); + /// virtual ~PDU_Assoc(); /// Clone the object - IYaz_PDU_Observable *clone(); + IPDU_Observable *clone(); /// 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(IPDU_Observer *observer, const char *addr); /// listen for clients (server role) - void listen(IYaz_PDU_Observer *observer, const char *addr); + int listen(IPDU_Observer *observer, const char *addr); /// Socket notification void socketNotify(int event); /// Close socket @@ -78,14 +80,25 @@ 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 { +class YAZ_EXPORT PDU_AssocThread : public PDU_Assoc { public: - Yaz_PDU_AssocThread(IYazSocketObservable *socketObservable); + PDU_AssocThread(yazpp_1::ISocketObservable *socketObservable); private: void childNotify(COMSTACK cs); }; +}; + #endif +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +