/****************************************************************************** @header FTSessionManagerImpl @abstract implementation of FTSessionManager @copyright 2004, 2005, 2006 Free Software Foundation, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  -------------------------------------------------------------------------
  Modification history

  31.01.2005 ola     initial version
  23.08.2006 ola     license changed
  -------------------------------------------------------------------------
  
******************************************************************************/ #if !defined(__FTSESSIONMANAGERIMPL_H) #define __FTSESSIONMANAGERIMPL_H #include #include #include #include @class FTServerImpl; /*! * @class FTSessionManagerImpl * @abstract used to handle FT logins */ @interface FTSessionManagerImpl : FTObject { @private NSLock *lock; FTServerImpl *server; /*! * Internally counter used to count the sessions and to build the * unique session id */ int session_counter; } /*! * @method iniForServer * @param theServer the underyling server for which the sessions have to be * managed * @abstract initializes the instance. For internal purposes only */ - initForServer: (FTServerImpl *) theServer; - (void) dealloc ; /*! * @method createSessionId * @abstract creates a unique id to be assigned to a session * @result session id */ - (id) createSessionId; /*! * @method loginAs * @abstract get a session * @param loginId * @param password */ - (id ) loginAs: (NSString *) loginId withPassword: (NSString *) password; /*! * @method reconnectSession * @abstract reconnects the given session e.g. after a shutdown/start of the * server * @param aSession session to reconnect * @result self */ - reconnectSession: (id ) aSession; @end #endif