X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz-pdu-observer.h;h=fdedc510c6296419a674b93cf7efd058362a6a34;hb=87be6c609c22d9620c781b95ab74298b63694055;hp=e2f5961ef4c00588e5747805eb73cf64a19d1396;hpb=97118338f9ac93e767e5589d449d3f9abacb3190;p=yazpp-moved-to-github.git diff --git a/include/yaz-pdu-observer.h b/include/yaz-pdu-observer.h index e2f5961..fdedc51 100644 --- a/include/yaz-pdu-observer.h +++ b/include/yaz-pdu-observer.h @@ -3,14 +3,7 @@ * See the file LICENSE for details. * Sebastian Hammer, Adam Dickmeiss * - * $Log: yaz-pdu-observer.h,v $ - * Revision 1.2 1999-01-28 13:08:41 adam - * Yaz_PDU_Assoc better encapsulated. Memory leak fix in - * yaz-socket-manager.cc. - * - * Revision 1.1.1.1 1999/01/28 09:41:07 adam - * First implementation of YAZ++. - * + * $Id: yaz-pdu-observer.h,v 1.7 1999-12-06 13:52:45 adam Exp $ */ #ifndef YAZ_PDU_OBSERVER_H @@ -24,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; @@ -38,20 +31,26 @@ class IYaz_PDU_Observable { 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; };