📄 mguardscreqhandler.cpp,v
字号:
head 1.1;access;symbols v1_0:1.1.1.1 xueyw:1.1.1 v111:1.1.1.1 MGuard:1.1.1;locks; strict;comment @// @;1.1date 2007.08.22.11.19.40; author administrator; state Exp;branches 1.1.1.1;next ;deltatype text;permissions 644;commitid 6b446cc1bcb3685;kopt kv;filename @MGuardScReqHandler.cpp@;1.1.1.1date 2007.08.22.11.31.31; author administrator; state Exp;branches;next ;deltatype text;permissions 644;commitid 81046cc1e913f93;kopt kv;filename @MGuardScReqHandler.cpp@;desc@@1.1log@sc take care of the lock/unlock of the screen@text@/** ============================================================================* Name : MGuardScReqHandler.cpp* Part of : MGuardCmdHandler* Created : 19.08.2007 by xueyw* Description:* Version :* Copyright: * ============================================================================*/// INCLUDE FILES#include <e32svr.h>#include <e32base.h>#include "MGuardScReqHandler.h"#include "MGuardScCommon.h"#include "MGuardScClient.pan"// ========================= MEMBER FUNCTIONS ==================================// -----------------------------------------------------------------------------// CMGuardScReqHandler::NewL()// Two-phased constructor.// -----------------------------------------------------------------------------CMGuardScReqHandler* CMGuardScReqHandler::NewL( MMGuardScObserver& aObserver ){ CMGuardScReqHandler* self = NewLC( aObserver ); CleanupStack::Pop( self ); return( self ) ;}// -----------------------------------------------------------------------------// CMGuardScReqHandler::NewLC()// Two-phased constructor.// -----------------------------------------------------------------------------CMGuardScReqHandler* CMGuardScReqHandler::NewLC( MMGuardScObserver& aObserver ){ CMGuardScReqHandler* self = new ( ELeave ) CMGuardScReqHandler( aObserver ); CleanupStack::PushL( self ); self->ConstructL(); return self;}// -----------------------------------------------------------------------------// CMGuardScReqHandler::ConstructL()// Symbian 2nd phase constructor can leave.// -----------------------------------------------------------------------------//void CMGuardScReqHandler::ConstructL(){ User::LeaveIfError( iSession.Connect() );}// -----------------------------------------------------------------------------// CMGuardScReqHandler::CMGuardScReqHandler()// C++ default constructor can NOT contain any code, that might leave.// -----------------------------------------------------------------------------CMGuardScReqHandler::CMGuardScReqHandler( MMGuardScObserver& aObserver ): CActive( EPriorityStandard ) , iObserver( aObserver ){ CActiveScheduler::Add( this );}// -----------------------------------------------------------------------------// CMGuardScReqHandler::~CMGuardScReqHandler()// Destructor.// -----------------------------------------------------------------------------//CMGuardScReqHandler::~CMGuardScReqHandler(){ Cancel(); // Causes call to DoCancel() iSession.Close();}void CMGuardScReqHandler::RequestUnlock(){ if ( !IsActive() ) { iSession.RequestUnlock( iTime, iStatus ); SetActive(); }}// -----------------------------------------------------------------------------// CMGuardScReqHandler::RequestLock()// Sends a request to the server for an update to the time.// -----------------------------------------------------------------------------//void CMGuardScReqHandler::RequestLock(){ if ( !IsActive() ) { iSession.RequestLock( iTime, iStatus ); SetActive(); }}// -----------------------------------------------------------------------------// CMGuardScReqHandler::CancelRequest()// Cancels an outstanding request.// -----------------------------------------------------------------------------//void CMGuardScReqHandler::CancelRequest(){ Cancel() ; // Causes call to DoCancel()}// -----------------------------------------------------------------------------// CMGuardScReqHandler::RunL()// Invoked to handle responses from the server.// -----------------------------------------------------------------------------//void CMGuardScReqHandler::RunL(){ switch ( iStatus.Int() ) { case EMGuardServRequestLockComplete: case EMGuardServRequestUnlockComplete: // The server has completed the request, signalled the client // thread and the clients active scheduler runs the active object. // Now do something with it// iObserver.HandleTimeUpdate();// RequestLock(); // Add this line to make the clock keep ticking CActiveScheduler::Stop(); break ; case KErrCancel: // The request was canceled CActiveScheduler::Stop(); break ; case KErrNotReady: // We requested a new time before completing the previous request default: User::Panic( KMGuardScClient, EMGuardScClientBadState ); // Unexpected error break; }}// -----------------------------------------------------------------------------// CMGuardScReqHandler::DoCancel()// Cancels any outstanding operation.// -----------------------------------------------------------------------------//void CMGuardScReqHandler::DoCancel(){ iSession.CancelRequestLock();}// -----------------------------------------------------------------------------// CMGuardScReqHandler::Time() const// Gets a copy of the last time received from the server.// -----------------------------------------------------------------------------//TTime CMGuardScReqHandler::Time() const{ return iTime;}// End of File@1.1.1.1log@no message@text@@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -