minor
[yazpp-moved-to-github.git] / include / yaz-socket-manager.h
index dae89d6..b4a04d1 100644 (file)
@@ -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 <yaz-socket-observer.h>
+#include <time.h>
 
 /** 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