X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz-socket-manager.h;h=b4a04d1ff0f50d13d5687abf3b1e1e7ca4fdec53;hb=9ada255ef9d4261a79d9ccae6c1bfedf456087ce;hp=dae89d66443267bcd324fbb3862563a437436899;hpb=bf377ba45c8c1cbcf843fdecc6d5c68fda6bad18;p=yazpp-moved-to-github.git diff --git a/include/yaz-socket-manager.h b/include/yaz-socket-manager.h index dae89d6..b4a04d1 100644 --- a/include/yaz-socket-manager.h +++ b/include/yaz-socket-manager.h @@ -1,27 +1,28 @@ /* - * Copyright (c) 1998-1999, Index Data. + * Copyright (c) 1998-2000, Index Data. * See the file LICENSE for details. - * Sebastian Hammer, Adam Dickmeiss * - * $Log: yaz-socket-manager.h,v $ - * Revision 1.1 1999-01-28 09:41:07 adam - * Initial revision - * + * $Id: yaz-socket-manager.h,v 1.7 2000-09-12 16:40:33 heikki Exp $ */ +#ifndef YAZ_SOCKET_MANAGER_INCLUDED +#define YAZ_SOCKET_MANAGER_INCLUDED + #include +#include /** Simple Socket Manager. Implements a stand-alone simple model that uses select(2) to observe socket events. */ -class Yaz_SocketManager : public IYazSocketObservable { +class YAZ_EXPORT Yaz_SocketManager : public IYazSocketObservable { private: struct YazSocketEntry { IYazSocketObserver *observer; int fd; unsigned mask; unsigned timeout; + time_t last_activity; YazSocketEntry *next; }; YazSocketEntry *m_observers; // all registered observers @@ -39,6 +40,7 @@ class Yaz_SocketManager : public IYazSocketObservable { YazSocketEvent *Yaz_SocketManager::getEvent(); void putEvent(YazSocketEvent *event); void removeEvent(IYazSocketObserver *observer); + int m_log; public: /// Add an observer virtual void addObserver(int fd, IYazSocketObserver *observer); @@ -57,3 +59,5 @@ class Yaz_SocketManager : public IYazSocketObservable { virtual ~Yaz_SocketManager(); }; + +#endif \ No newline at end of file