mini/zz_session_handler.h

Go to the documentation of this file.
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

Generated on Thu Sep 21 21:45:42 2006 for tonjac.org MINI/C++ library by  doxygen 1.4.6-NO