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