00001 #ifndef BKMD_H 00002 #define BKMD_H 00003 00004 #include "Socket.hpp" 00005 #include "DB.hpp" 00006 #include "MsgHandler.hpp" 00007 #include "MsgHandlers.hpp" 00008 00009 #include <list> 00010 #include <map> 00011 00012 class Session; 00013 00019 class Bkmd { 00020 public: 00026 Bkmd(); 00027 00032 Bkmd(unsigned short port); 00033 00039 ~Bkmd(); 00040 00044 void listen(unsigned short port); 00045 00050 void poll(); 00051 00055 void addSession(Session *session); 00056 00061 void processMsg(string data, msgHeader1& header, Session* conn); 00062 00068 DB* getDb(); 00069 00070 private: 00074 list<Session*> _sessions; 00075 00079 Socket _socket; 00080 00084 DB* _db; 00085 00092 map<unsigned int, MsgHandler*> _msgHandlers; 00093 }; 00094 00095 #endif