00001 /* libzzinet 00002 * 00003 * This program is distributed under the GNU General Public License, version 2. 00004 * A copy of this license is included with this source. 00005 * 00006 * Copyright 2004-2006, Toni Thomsson <toni@tonjac.org> 00007 */ 00008 00009 #ifndef zz_session_handler_h 00010 #define zz_session_handler_h 00011 00012 #include <zz_string.h> 00013 #include <zz_win_thread.h> 00014 #include <zz_win_threadmutex.h> 00015 #include <mini.h> 00016 #include <map> 00017 #include <zz_log.h> 00018 #include <jni.h> 00019 00020 typedef map<int, CzzString > CzzSessionList; 00021 00025 class CzzSessionHandler : public CzzWinThread 00026 { 00027 public: 00028 00030 CzzSessionHandler( JavaVM* jvm_instance ); 00031 00033 ~CzzSessionHandler(); 00034 00035 virtual void OnStart( void ); 00036 00038 static MINI_SESSION* getSession( const CzzString& id, const char* user, const char* ip, void* connect, int role, int java = 0 ); 00039 00040 static void deleteSession( const CzzString& id ); 00041 static void unlockSession( const CzzString& id ); 00042 00043 static CzzSessionList getSessions( void ); 00044 00046 static int getCount( void ); 00047 00048 protected: 00049 00050 private: 00051 CzzLog m_Log; 00052 static JavaVM* m_JvmInstance; 00053 static map<CzzString, MINI_SESSION* > m_Sessions; 00054 static CzzWinThreadMutex m_Mutex; 00055 }; 00056 00057 #endif // zz_session_handler_h
1.4.6-NO