X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2B%2B%2Fpdu-observer.h;h=bdb6b8792175287c2e48a423887676aafb46b136;hb=6196cb9e06a6cc83892e1ad16daa1fb921111e28;hp=02b5fe84372ef7f40e3df088da67c60a6fc59643;hpb=ceb226cb18d96a6b3aa2dd6cff94aa27850362cf;p=yazpp-moved-to-github.git diff --git a/include/yaz++/pdu-observer.h b/include/yaz++/pdu-observer.h index 02b5fe8..bdb6b87 100644 --- a/include/yaz++/pdu-observer.h +++ b/include/yaz++/pdu-observer.h @@ -1,44 +1,48 @@ /* - * Copyright (c) 1998-2000, Index Data. + * Copyright (c) 1998-2005, Index Data. * See the file LICENSE for details. * - * $Id: pdu-observer.h,v 1.1 2002-10-09 12:50:26 adam Exp $ + * $Id: pdu-observer.h,v 1.6 2005-06-08 13:28:05 adam Exp $ */ #ifndef YAZ_PDU_OBSERVER_H #define YAZ_PDU_OBSERVER_H -class IYaz_PDU_Observer; +namespace yazpp_1 { + +class IPDU_Observer; /** Protocol Data Unit Observable. This interface implements a Protocol Data Unit (PDU) network driver. The PDU's is not encoded/decoded by this interface. They are simply transmitted/received over the network. To use this interface the - IYaz_PDU_Observer interface must be implemented. + IPDU_Observer interface must be implemented. */ -class YAZ_EXPORT IYaz_PDU_Observable { +class YAZ_EXPORT IPDU_Observable { public: /// Send encoded PDU buffer of specified length virtual int send_PDU(const char *buf, int len) = 0; /// Connect with server specified by addr. - virtual void connect(IYaz_PDU_Observer *observer, const char *addr) = 0; + virtual int connect(IPDU_Observer *observer, const char *addr) = 0; /// Listen on address addr. - virtual void listen(IYaz_PDU_Observer *observer, const char *addr) = 0; + virtual int listen(IPDU_Observer *observer, const char *addr) = 0; /// Close connection virtual void close() = 0; /// Make clone of this object using this interface - virtual IYaz_PDU_Observable *clone() = 0; + virtual IPDU_Observable *clone() = 0; /// Destroy completely virtual void destroy() = 0; /// Set Idle Time virtual void idleTime (int timeout) = 0; + /// Get peername + virtual const char *getpeername() = 0; }; /** Protocol Data Unit Observer. - This interface is used together with the IYaz_PDU_Observable interface + This interface is used together with the IPDU_Observable interface and acts as a callback interface for it. */ -class YAZ_EXPORT IYaz_PDU_Observer { +class YAZ_EXPORT IPDU_Observer { public: /// A PDU has been received virtual void recv_PDU(const char *buf, int len) = 0; @@ -48,9 +52,10 @@ class YAZ_EXPORT IYaz_PDU_Observer { virtual void failNotify() = 0; /// Called whenever there is a timeout virtual void timeoutNotify() = 0; - /// Make clone of observer using IYaz_PDU_Observable interface - virtual IYaz_PDU_Observer *sessionNotify( - IYaz_PDU_Observable *the_PDU_Observable, int fd) = 0; + /// Make clone of observer using IPDU_Observable interface + virtual IPDU_Observer *sessionNotify( + IPDU_Observable *the_PDU_Observable, int fd) = 0; +}; }; #endif