00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #if !defined(AXIS_SESSIONSCOPEHANDLERPOOL_H__INCLUDED_)
00021 #define AXIS_SESSIONSCOPEHANDLERPOOL_H__INCLUDED_
00022
00023 #define SESSIONLESSHANDLERS "0aaaaa"
00024
00025 #include "SharedObject.h"
00026 #include <axis/server/BasicHandler.h>
00027
00028 #include <map>
00029 #include <list>
00030 #include <string>
00031
00032 using namespace std;
00033
00034
00035
00036
00037
00038
00039
00040 class SessionScopeHandlerPool:protected SharedObject
00041 {
00042 public:
00043 SessionScopeHandlerPool ();
00044 virtual ~ SessionScopeHandlerPool ();
00045 private:
00046 typedef map < string, list <BasicHandler*> >SessionHandlers;
00047 map <int, SessionHandlers*>m_Handlers;
00048 public:
00049 int GetInstance (string &sSessionId, BasicHandler** pHandler,
00050 int nLibId);
00051 int PutInstance (string &sSessionId, BasicHandler* pHandler,
00052 int nLibId);
00053 void EndSession (string &sSessionId);
00054 };
00055
00056 #endif