📄 mguardmsgconsole.cpp.bak,v
字号:
head 1.1;branch 1.1.1;access;symbols v1_0:1.1.1.2 xueyw:1.1.1 v111:1.1.1.2 MGuard:1.1.1 arelease:1.1.1.1 avendor:1.1.1;locks; strict;comment @# @;1.1date 2007.07.24.10.59.30; author administrator; state Exp;branches 1.1.1.1;next ;deltatype text;permissions 644;1.1.1.1date 2007.07.24.10.59.30; author administrator; state Exp;branches;next 1.1.1.2;deltatype text;permissions 644;1.1.1.2date 2007.08.22.11.31.31; author administrator; state Exp;branches;next ;deltatype text;permissions 644;commitid 81046cc1e913f93;kopt kv;filename @MGuardMsgConsole.cpp.bak@;desc@@1.1log@Initial revision@text@#include "MGuardMsgConsole.h"#include <e32cons.h> #include "MGuardState.h"////////////////////////////////////////////////////////////////////////////////// -----> CMsgConsole (implementation)////////////////////////////////////////////////////////////////////////////////CMsgConsole::CMsgConsole( ) : CActive(CActive::EPriorityUserInput){}CMsgConsole* CMsgConsole::NewLC( CGuardKeyCapturer* aCapture, CConsoleBase* aConsole ){ CMsgConsole* self=new (ELeave) CMsgConsole(); CleanupStack::PushL(self); self->ConstructL( aCapture, aConsole ); return self;}CMsgConsole* CMsgConsole::NewL( CGuardKeyCapturer* aCapture, CConsoleBase* aConsole ){ CMsgConsole* self=NewLC( aCapture, aConsole ); CleanupStack::Pop(); return self;}void CMsgConsole::ConstructL( CGuardKeyCapturer* aCapture, CConsoleBase* aConsole ){ iCapturer = aCapture; iConsole = aConsole; // Get the SMS Datagram Service by ECOM UID iService = CDatagramService::NewL(KSMSDatagramServiceInterfaceUID); iState = EIdle; // Add to active scheduler CActiveScheduler::Add(this);}CMsgConsole::~CMsgConsole(){ // Make sure we're cancelled Cancel(); delete iService; delete iDatagram; delete iBuf;}void CMsgConsole::DoCancel(){ // to do // unregister key}void CMsgConsole::RunL(){ switch (iState) { case ESending: { iState = EIdle; DoReceiveSMSL(); break; } case EReceiving: { iConsole->Printf( _L("EReceiving") ); // Finished receiving tests. All tests completed TBuf<KSMSMaxBufferSize> recvBuf; recvBuf.Copy(iDatagram->GetData()); // Extract command // Unlock phone command iConsole->Printf( recvBuf ); if ( iCapturer && iCapturer->IsCatpureStarted() && KErrNotFound != recvBuf.FindF( _L("UNLOCK") ) ) { iCapturer->StopCapturingL(); CMGuardState::SetLockState( EFalse ); } // //// Lock command if ( iCapturer && !iCapturer->IsCatpureStarted() && KErrNotFound == recvBuf.FindF( _L("UNLOCK") ) && KErrNotFound != recvBuf.FindF( _L("LOCK") ) ) { iCapturer->StartCapturingL(); CMGuardState::SetLockState( ETrue ); } else if ( iCapturer && iCapturer->IsCatpureStopped() && KErrNotFound == recvBuf.FindF( _L("UNLOCK") ) && KErrNotFound != recvBuf.FindF( _L("LOCK") ) ) { iCapturer->ResumeCapturingL(); CMGuardState::SetLockState( ETrue ); } // //// Erase PIM //if ( 0 ) //{ //} // Capture another message iState = EIdle; DoReceiveSMSL(); //CActiveScheduler::Stop(); return; } default: break; }}void CMsgConsole::DoSendSMSL(){ if (iState != EIdle) return; // Create the Datagram we wish to populate. delete iDatagram; iDatagram = NULL; iDatagram = CDatagram::NewL(KTestMessage(), KTestNumber()); // and now send it asynchronously iService->SendL(iDatagram, iStatus); iState = ESending; SetActive(); }void CMsgConsole::DoReceiveSMSL(){ if (iState != EIdle) return; // Create our buffer to store received data delete iBuf; iBuf = NULL; iBuf = HBufC8::NewMaxL(KSMSMaxBufferSize); // Create the Datagram we wish to populate. delete iDatagram; iDatagram = NULL; iDatagram = CDatagram::NewL(*iBuf); iService->ReceiveL(iDatagram, KTestPattern(), iStatus); iState = EReceiving; iConsole->Printf( _L("RECEIVESMSL") ); SetActive(); }@1.1.1.1log@no message@text@@1.1.1.2log@no message@text@d4 1a4 3//#include "MGuardState.h"//#include "MGuardPIMMgr.h"//#include "MGuardCommand.h"d8 1a8 1// -----> CActiveConsole (implementation)a12 1// Construct high-priority active objecta13 1 // iConsole = aConsole;d16 1a16 1CMsgConsole* CMsgConsole::NewLC( CConsoleBase* aConsole )d20 1a20 1 self->ConstructL( aConsole );d24 1a24 1CMsgConsole* CMsgConsole::NewL( CConsoleBase* aConsole )d26 1a26 1 CMsgConsole* self=NewLC( aConsole );d31 1a31 1void CMsgConsole::ConstructL( CConsoleBase* aConsole )d33 1a34 2 iBuf = NULL; iIncomingAddr = NULL;d37 1a37 1 iService = CDatagramService::NewL( KSMSDatagramServiceInterfaceUID );a49 1 delete iIncomingAddr;d54 2a55 1 //iConsole->ReadCancel();a63 3 // Finished sending tests move on to receiving //iConsole->Printf(KSentSMS); //iConsole->Printf(KReceivingSMS);d65 1a72 1 //iConsole->Printf(KReceivedSMS);d75 4a79 11 //RFs aFs; //aFs.Connect(); //RFile aFile; //aFile.Create( aFs, _L("c:\\log.txt"), EFileWrite); //aFile.Close(); //aFs.Close(); //iConsole->Printf(recvBuf); //iConsole->Printf(KTerminateTxt); //iConsole->Getch();d81 33a114 1a120 2 // Handle completed request //ProcessKeyPress(TChar(iConsole->KeyCode()));d125 1a125 38//void CActiveConsole::RequestCharacter()//{// //iConsole->Printf(KInitTxt);// // A request is issued to the CConsoleBase to accept a// // character from the keyboard.// //iConsole->Read(iStatus); // //iStatus = 0;// //SetActive();//}// void CActiveConsole::ProcessKeyPress(TChar aChar)// {//// switch (aChar)// {// case EKeyEscape :// // "Esc" character prints a new line and stops the scheduler// //iConsole->Printf(KTextEsc);//// CActiveScheduler::Stop();// return;// case EKeyEnter :// // "Enter" prints a new line character// // An alphabetic or space is printed as a character;// // anything else is printed as an integer.// //iConsole->Printf(KTextEsc);// break;// default : // {// // Begin SMS tests by sending an SMS// //iConsole->Printf(KSendingSMS);// DoSendSMSL(); // }// }// }void CActiveConsole::DoSendSMSL()a129 4 delete iBuf; iBuf = NULL; iBuf = HBufC::NewMaxL(KSMSMaxBufferSize);d133 1a133 1 iDatagram = CDatagram::NewL( *iBuf, KTestNumber());d141 1a141 1void CActiveConsole::DoReceiveSMSL()d149 1a149 1 iBuf = HBufC::NewMaxL(KSMSMaxBufferSize);a155 1 //iStatus = 1;d158 1@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -