CommandServiceManager -1.00
Phoenix engine interface
SessionManager Class Reference

#import <SessionManager.h>

Public Member Functions

(SessionInfo *) - createSession:
(BOOL) - deleteSession:
(SessionInfo *) - retrieveSession:
(void) - persistSession:
(void) - updateSession:
(uint32_t) - generateCSID
(NSArray *) - getAllOrphanedSession
(NSArray *) - getAllPendingSession

Static Public Member Functions

(SessionManager *) + sharedManager
(SessionManager *) + sharedManagerWithPayloadFolderPath:WithDBFolderPath:

Properties

NSString * payloadFolderPath
NSString * DBFilePath
FMDatabase * db

Detailed Description

SessionManager is a singleton object used for generate session id, manage session, and persist database


Member Function Documentation

- (SessionInfo *) createSession: (CommandRequest *)  request

Create session from request

Returns:
SessionInfo object with information from request parameter
Parameters:
requestthe request object
- (BOOL) deleteSession: (uint32_t)  CSID

Delete session from database

Returns:
SessionInfo object with information from request parameter
Parameters:
Clientsession ID
- (uint32_t) generateCSID

Generate running number start from last session number in database if database is empty it return 1

Returns:
running number, that not duplicate with any session created
- (NSArray *) getAllOrphanedSession

Get session that payload is not finished yet from database

Returns:
array of client session id
- (NSArray *) getAllPendingSession

Get session that payload is already finished but sending is not finished yet from database

Returns:
array of client session id
- (void) persistSession: (SessionInfo *)  sessionInfo

Save session to database

Parameters:
SessionInfoobject you want to save
- (SessionInfo *) retrieveSession: (uint32_t)  CSID

Retrieve session from database

Returns:
SessionInfo object follow the Client session ID specified
Parameters:
Clientsession ID
+ (SessionManager *) sharedManager

Get singleton SessionManager object

Returns:
shared CommandServiceManager instance
Warning:
don't use this, it does not set db path for session manager. Use sharedManagerWithPayloadFolderPath:WithDBFolderPath: instead
+ (SessionManager *) sharedManagerWithPayloadFolderPath: (NSString *)  payloadFolderPath
WithDBFolderPath: (NSString *)  DBFolderPath 

Get singleton SessionManager object then set payload folder path and database folder path at that time

Returns:
shared SessionManager instance that have payload path and database path
Parameters:
payloadFolderPathwritable path to save payload file
DBFolderPathwritable path to crate/read/update database file
- (void) updateSession: (SessionInfo *)  sessionInfo

Update the existence session info in database using SQL command UPDATE

Parameters:
SessionInfoobject you want to update

The documentation for this class was generated from the following files:
 All Data Structures Functions Properties