X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=include%2Fyaz%2B%2B%2Fsocket-manager.h;h=d23946557d2fa2a9f25db4202a92fc6bc0548dd6;hb=76d66b222afff97cf367a3e7b8bfe045a62d0d57;hp=f4e816250fbbfe02e8f3b54d990d63af2585817d;hpb=277e55dae549f6fa6b9ad22d8ebd89af53bcd71b;p=yazpp-moved-to-github.git diff --git a/include/yaz++/socket-manager.h b/include/yaz++/socket-manager.h index f4e8162..d239465 100644 --- a/include/yaz++/socket-manager.h +++ b/include/yaz++/socket-manager.h @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2004, Index Data. + * Copyright (c) 1998-2005, Index Data. * See the file LICENSE for details. * - * $Id: socket-manager.h,v 1.3 2004-01-05 11:31:04 adam Exp $ + * $Id: socket-manager.h,v 1.7 2006-03-28 19:51:38 adam Exp $ */ #ifndef YAZ_SOCKET_MANAGER_INCLUDED @@ -11,54 +11,65 @@ #include #include +namespace yazpp_1 { + /** Simple Socket Manager. Implements a stand-alone simple model that uses select(2) to observe socket events. */ -class YAZ_EXPORT Yaz_SocketManager : public IYazSocketObservable { +class YAZ_EXPORT SocketManager : public ISocketObservable { private: - struct YazSocketEntry { - IYazSocketObserver *observer; - int fd; - unsigned mask; - int timeout; + struct SocketEntry { + ISocketObserver *observer; + int fd; + unsigned mask; + int timeout; int timeout_this; - time_t last_activity; - YazSocketEntry *next; + time_t last_activity; + SocketEntry *next; }; - YazSocketEntry *m_observers; // all registered observers - struct YazSocketEvent { - IYazSocketObserver *observer; - int event; - YazSocketEvent *next; // front in queue - YazSocketEvent *prev; // back in queue + SocketEntry *m_observers; // all registered observers + struct SocketEvent { + ISocketObserver *observer; + int event; + SocketEvent *next; // front in queue + SocketEvent *prev; // back in queue }; - YazSocketEvent *m_queue_front; - YazSocketEvent *m_queue_back; + SocketEvent *m_queue_front; + SocketEvent *m_queue_back; - YazSocketEntry **Yaz_SocketManager::lookupObserver - (IYazSocketObserver *observer); - YazSocketEvent *Yaz_SocketManager::getEvent(); - void putEvent(YazSocketEvent *event); - void removeEvent(IYazSocketObserver *observer); + SocketEntry **lookupObserver + (ISocketObserver *observer); + SocketEvent *getEvent(); + void putEvent(SocketEvent *event); + void removeEvent(ISocketObserver *observer); int m_log; public: /// Add an observer - virtual void addObserver(int fd, IYazSocketObserver *observer); + virtual void addObserver(int fd, ISocketObserver *observer); /// Delete an observer - virtual void deleteObserver(IYazSocketObserver *observer); + virtual void deleteObserver(ISocketObserver *observer); /// Delete all observers virtual void deleteObservers(); /// Set event mask for observer - virtual void maskObserver(IYazSocketObserver *observer, int mask); + virtual void maskObserver(ISocketObserver *observer, int mask); /// Set timeout - virtual void timeoutObserver(IYazSocketObserver *observer, - int timeout); + virtual void timeoutObserver(ISocketObserver *observer, + int timeout); /// Process one event. return > 0 if event could be processed; int processEvent(); - Yaz_SocketManager(); - virtual ~Yaz_SocketManager(); + SocketManager(); + virtual ~SocketManager(); }; +}; #endif +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +