X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=include%2Fyaz%2B%2B%2Fpdu-observer.h;h=965ffee7ae7b545676b095398112281854cdb71c;hb=5f96eba22d20b9d30f4afc9ba07ef9e95cffb0dc;hp=dda0ca815518ef99fc49c93133d55892e5a5d554;hpb=7fc0fddcb85cd64461c7b3dd3e68791eb88b40be;p=yazpp-moved-to-github.git diff --git a/include/yaz++/pdu-observer.h b/include/yaz++/pdu-observer.h index dda0ca8..965ffee 100644 --- a/include/yaz++/pdu-observer.h +++ b/include/yaz++/pdu-observer.h @@ -1,46 +1,52 @@ /* - * Copyright (c) 1998-2000, Index Data. + * Copyright (c) 1998-2005, Index Data. * See the file LICENSE for details. * - * $Id: pdu-observer.h,v 1.3 2003-10-10 12:37:26 adam Exp $ + * $Id: pdu-observer.h,v 1.9 2005-09-23 13:11:04 adam Exp $ */ #ifndef YAZ_PDU_OBSERVER_H #define YAZ_PDU_OBSERVER_H -class IYaz_PDU_Observer; +#include + +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 int 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; + + virtual ~IPDU_Observable(); }; /** 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; @@ -50,9 +56,20 @@ 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; + + virtual ~IPDU_Observer(); +}; }; #endif +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +