X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz-pdu-observer.h;h=fdedc510c6296419a674b93cf7efd058362a6a34;hb=26b3f7f15abcb69aaf00fb6bdaf410ff3e7de14c;hp=eef08b49353ef4f57a3d10d08da4af11468d28b0;hpb=bf377ba45c8c1cbcf843fdecc6d5c68fda6bad18;p=yazpp-moved-to-github.git diff --git a/include/yaz-pdu-observer.h b/include/yaz-pdu-observer.h index eef08b4..fdedc51 100644 --- a/include/yaz-pdu-observer.h +++ b/include/yaz-pdu-observer.h @@ -3,10 +3,7 @@ * See the file LICENSE for details. * Sebastian Hammer, Adam Dickmeiss * - * $Log: yaz-pdu-observer.h,v $ - * Revision 1.1 1999-01-28 09:41:07 adam - * Initial revision - * + * $Id: yaz-pdu-observer.h,v 1.7 1999-12-06 13:52:45 adam Exp $ */ #ifndef YAZ_PDU_OBSERVER_H @@ -20,7 +17,7 @@ class IYaz_PDU_Observer; transmitted/received over the network. To use this interface the IYaz_PDU_Observer interface must be implemented. */ -class IYaz_PDU_Observable { +class YAZ_EXPORT IYaz_PDU_Observable { public: /// Send encoded PDU buffer of specified length virtual int send_PDU(const char *buf, int len) = 0; @@ -32,20 +29,28 @@ class IYaz_PDU_Observable { virtual void close() = 0; /// Make clone of this object using this interface virtual IYaz_PDU_Observable *clone() = 0; + /// Destroy completely + virtual void destroy() = 0; + /// Set Idle Time + virtual void idleTime (int timeout) = 0; + /// open with existing socket + virtual void socket(IYaz_PDU_Observer *observer, int fd) = 0; }; /** Protocol Data Unit Observer. This interface is used together with the IYaz_PDU_Observable interface and acts as a callback interface for it. */ -class IYaz_PDU_Observer { +class YAZ_EXPORT IYaz_PDU_Observer { public: /// A PDU has been received virtual void recv_PDU(const char *buf, int len) = 0; - /// Called when Iyaz_PDU_Observabvle::connect was successful. + /// Called when Iyaz_PDU_Observable::connect was successful. virtual void connectNotify() = 0; /// Called whenever the connection was closed 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 *clone(IYaz_PDU_Observable *the_PDU_Observable) = 0; };