# HG changeset patch # User hgs # Date 1284722575 -10800 # Node ID 36d60d12b4af9b7d5f3ffe3bbd2969cd4ffa45d2 # Parent b048e15729d63f652346bcc67dc24b9b2adfcc1e 201037 diff -r b048e15729d6 -r 36d60d12b4af creator/creator.pro --- a/creator/creator.pro Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/creator.pro Fri Sep 17 14:22:55 2010 +0300 @@ -146,6 +146,8 @@ "END" MMP_RULES += creatorDataBlock + MMP_RULES -= PAGED + MMP_RULES *= UNPAGED BLD_INF_RULES.prj_exports += "./rom/creator.iby CORE_IBY_EXPORT_PATH(tools,creator.iby) BLD_INF_RULES.prj_exports += \ diff -r b048e15729d6 -r 36d60d12b4af creator/engine/inc/creator_notepadwrapper.h --- a/creator/engine/inc/creator_notepadwrapper.h Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/inc/creator_notepadwrapper.h Fri Sep 17 14:22:55 2010 +0300 @@ -23,6 +23,7 @@ #include +#include #include #include #include @@ -46,6 +47,7 @@ private: AgendaUtil *iAgendaUtil; NotesEditorInterface *iNotepadApi; //QT Notes api + QPluginLoader* iNotesEditorPluginLoader; // for loading QT Notes api }; #endif // __CREATORNOTEPADWRAPPER_H__ diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_accesspoint.cpp --- a/creator/engine/src/creator_accesspoint.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_accesspoint.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -324,7 +324,7 @@ // id has been generated, store it for being able to delete // entries created only with Creator - iEntryIds.Append( uid ); + iEntryIds.AppendL( uid ); TBuf<256> name = iParameters->iConnectionName->Des(); iApUtils->SetNameL(name, uid); // sets the AP name diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_browser.cpp --- a/creator/engine/src/creator_browser.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_browser.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -236,7 +236,7 @@ // id has been generated, store it for being able to delete // only entries created with Creator - iBmEntryIds.Append( item->Uid() ); + iBmEntryIds.AppendL( item->Uid() ); CleanupStack::PopAndDestroy(3); //db, session, item @@ -287,7 +287,7 @@ // id has been generated, store it for being able to delete // only entries created with Creator - iBmFEntryIds.Append( item->Uid() ); + iBmFEntryIds.AppendL( item->Uid() ); CleanupStack::PopAndDestroy(3); //db, session, item @@ -376,7 +376,7 @@ // id has been generated, store it for being able to delete // only entries created with Creator - iSpEntryIds.Append( item->Uid() ); + iSpEntryIds.AppendL( item->Uid() ); CleanupStack::PopAndDestroy(6); //db, session, item, sourceFile, destinationFile, sourceBuf @@ -427,7 +427,7 @@ // id has been generated, store it for being able to delete // only entries created with Creator - iSpFEntryIds.Append( item->Uid() ); + iSpFEntryIds.AppendL( item->Uid() ); CleanupStack::PopAndDestroy(3); //db, session, item diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_calendar.cpp --- a/creator/engine/src/creator_calendar.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_calendar.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -193,6 +193,7 @@ CleanupStack::PopAndDestroy (tempBuf ); } + break; case MCreatorModuleBaseParameters::ECalendarMemo: { @@ -208,6 +209,7 @@ CleanupStack::PopAndDestroy (tempBuf ); } + break; case MCreatorModuleBaseParameters::ECalendarMeeting: { @@ -226,6 +228,7 @@ CleanupStack::PopAndDestroy (tempBuf ); } + break; case MCreatorModuleBaseParameters::ECalendarAnniv: { @@ -241,10 +244,12 @@ CleanupStack::PopAndDestroy (tempBuf ); } + break; default: { //implement } + break; } } //---------------------------------------------------------------------------- @@ -537,7 +542,7 @@ // id has been generated, store it for being able to delete // entries created only with Creator - iEntryIds.Append( entry->LocalUidL() ); + iEntryIds.AppendL( entry->LocalUidL() ); //One item should be added at time if (success != 1 ) @@ -944,7 +949,7 @@ // id has been generated, store it for being able to delete // entries created only with Creator - iEntryIds.Append( entry->LocalUidL() ); + iEntryIds.AppendL( entry->LocalUidL() ); //One item should be added at time if (success != 1 ) @@ -1045,7 +1050,7 @@ // id has been generated, store it for being able to delete // entries created only with Creator - iEntryIds.Append( entry->LocalUidL() ); + iEntryIds.AppendL( entry->LocalUidL() ); //One item should be added at time if (success != 1 ) @@ -1145,7 +1150,7 @@ // id has been generated, store it for being able to delete // entries created only with Creator - iEntryIds.Append( entry->LocalUidL() ); + iEntryIds.AppendL( entry->LocalUidL() ); //One item should be added at time if (success != 1 ) @@ -1250,7 +1255,7 @@ // id has been generated, store it for being able to delete // entries created only with Creator - iEntryIds.Append( entry->LocalUidL() ); + iEntryIds.AppendL( entry->LocalUidL() ); //One item should be added at time if (success != 1 ) diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_calendarelement.cpp --- a/creator/engine/src/creator_calendarelement.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_calendarelement.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -173,6 +173,7 @@ { parameters->iTodoDueTime = parameters->iEndTime; } + endResolved = ETrue; } else if( elemName == KRecurrentFreq ) { diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_connectionmethod.cpp --- a/creator/engine/src/creator_connectionmethod.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_connectionmethod.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -411,7 +411,7 @@ // id has been generated, store it for being able to delete // only entries created with Creator - iEntryIds.Append( dest.Id() ); + iEntryIds.AppendL( dest.Id() ); conMethod.Close(); CleanupStack::Pop( );//conMethod diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_contactelement.cpp --- a/creator/engine/src/creator_contactelement.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_contactelement.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -196,9 +196,9 @@ for( TInt i = 0; i < fieldList.Count(); ++i ) { TPtrC fieldName = fieldList[i]->Name(); - const CCreatorScriptAttribute* amountAttr = fieldList[i]->FindAttributeByName(KAmount); - const CCreatorScriptAttribute* rndLenAttr = fieldList[i]->FindAttributeByName(KRandomLength); - const CCreatorScriptAttribute* increaseAttr = fieldList[i]->FindAttributeByName(KIncrease); + //const CCreatorScriptAttribute* amountAttr = fieldList[i]->FindAttributeByName(KAmount); + //const CCreatorScriptAttribute* rndLenAttr = fieldList[i]->FindAttributeByName(KRandomLength); + //const CCreatorScriptAttribute* increaseAttr = fieldList[i]->FindAttributeByName(KIncrease); //TBool increase( EFalse ); //if ( increaseAttr ) // { diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_file.cpp --- a/creator/engine/src/creator_file.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_file.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -559,7 +559,7 @@ RFile file; User::LeaveIfError( file.Create( iFs, aOutFileName, EFileWrite ) ); CleanupClosePushL( file ); - importFile->ContinueWithNewOutputFile( file, aOutFileName ); + User::LeaveIfError( importFile->ContinueWithNewOutputFile( file, aOutFileName ) ); CleanupStack::PopAndDestroy( &file ); } else diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_landmark.cpp --- a/creator/engine/src/creator_landmark.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_landmark.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -455,7 +455,7 @@ // id has been generated, store it for being able to delete // entries created only with Creator - iEntryIds.Append( newLandmark->LandmarkId() ); + iEntryIds.AppendL( newLandmark->LandmarkId() ); ExecuteAndDeleteLD(iLandmarkDb->CompactL()); diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_log.cpp --- a/creator/engine/src/creator_log.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_log.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -259,7 +259,7 @@ // id has been generated, store it for being able to delete // entries created only with Creator - iEntryIds.Append( iLogEvent->Id() ); + TRAP_IGNORE( iEntryIds.AppendL( iLogEvent->Id() ) ); return iStatus.Int(); // should be KErrNone if writing was succesful } @@ -344,7 +344,7 @@ // id has been generated, store it for being able to delete // entries created only with Creator - iEntryIds.Append( iLogEvent->Id() ); + TRAP_IGNORE( iEntryIds.AppendL( iLogEvent->Id() ) ); return iStatus.Int(); // should be KErrNone if writing was succesful } @@ -431,7 +431,7 @@ // id has been generated, store it for being able to delete // only entries created with Creator - iEntryIds.Append( iLogEvent->Id() ); + TRAP_IGNORE( iEntryIds.AppendL( iLogEvent->Id() ) ); return iStatus.Int(); // should be KErrNone if writing was succesful } diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_mailbox.cpp --- a/creator/engine/src/creator_mailbox.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_mailbox.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -311,7 +311,7 @@ // appending mailbox type to array to be able to use // correct type when deleting mailboxes - iEntryIds.Append( parameters->iMailboxType ); + iEntryIds.AppendL( parameters->iMailboxType ); if (parameters->iMailboxType == EMailboxIMAP4) { @@ -321,12 +321,12 @@ TSmtpAccount smtpAccountId = account->CreateSmtpAccountL(imapAccountId, *smtpSet, *outgoingIAPSet, EFalse); account->SetDefaultSmtpAccountL(smtpAccountId); - iEntryIds.Append( imapAccountId.iImapAccountId ); - iEntryIds.Append( imapAccountId.iImapService ); - iEntryIds.Append( imapAccountId.iSmtpService ); - iEntryIds.Append( smtpAccountId.iSmtpAccountId ); - iEntryIds.Append( smtpAccountId.iSmtpService ); - iEntryIds.Append( smtpAccountId.iRelatedService ); + iEntryIds.AppendL( imapAccountId.iImapAccountId ); + iEntryIds.AppendL( imapAccountId.iImapService ); + iEntryIds.AppendL( imapAccountId.iSmtpService ); + iEntryIds.AppendL( smtpAccountId.iSmtpAccountId ); + iEntryIds.AppendL( smtpAccountId.iSmtpService ); + iEntryIds.AppendL( smtpAccountId.iRelatedService ); StoreIMEIToEntryL( imapAccountId.iImapService ); StoreIMEIToEntryL( smtpAccountId.iSmtpService ); @@ -339,12 +339,12 @@ TSmtpAccount smtpAccountId = account->CreateSmtpAccountL(popAccountId, *smtpSet, *outgoingIAPSet, EFalse); account->SetDefaultSmtpAccountL(smtpAccountId); - iEntryIds.Append( popAccountId.iPopAccountId ); - iEntryIds.Append( popAccountId.iPopService ); - iEntryIds.Append( popAccountId.iSmtpService ); - iEntryIds.Append( smtpAccountId.iSmtpAccountId ); - iEntryIds.Append( smtpAccountId.iSmtpService ); - iEntryIds.Append( smtpAccountId.iRelatedService ); + iEntryIds.AppendL( popAccountId.iPopAccountId ); + iEntryIds.AppendL( popAccountId.iPopService ); + iEntryIds.AppendL( popAccountId.iSmtpService ); + iEntryIds.AppendL( smtpAccountId.iSmtpAccountId ); + iEntryIds.AppendL( smtpAccountId.iSmtpService ); + iEntryIds.AppendL( smtpAccountId.iRelatedService ); StoreIMEIToEntryL( popAccountId.iPopService ); StoreIMEIToEntryL( smtpAccountId.iSmtpService ); diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_message.cpp --- a/creator/engine/src/creator_message.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_message.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -539,7 +539,7 @@ // id has been generated, store it for being able to delete // only entries created with Creator - iEntryIds.Append( messageEntry.Id() ); + iEntryIds.AppendL( messageEntry.Id() ); CleanupStack::PopAndDestroy(3); //session, registry, clientMtm @@ -759,7 +759,7 @@ // id has been generated, store it for being able to delete // only entries created with Creator - iEntryIds.Append( messageEntry.Id() ); + iEntryIds.AppendL( messageEntry.Id() ); CleanupStack::PopAndDestroy(3); //session, registry, clientMtm @@ -1013,7 +1013,7 @@ // id has been generated, store it for being able to delete // only entries created with Creator - iEntryIds.Append( messageEntry.Id() ); + iEntryIds.AppendL( messageEntry.Id() ); CleanupStack::PopAndDestroy(3); //session, registry, clientMtm @@ -1229,7 +1229,7 @@ // id has been generated, store it for being able to delete // only entries created with Creator - iEntryIds.Append( messageEntry.Id() ); + iEntryIds.AppendL( messageEntry.Id() ); CleanupStack::PopAndDestroy(3); //session, registry, clientMtm @@ -1366,7 +1366,7 @@ // id has been generated, store it for being able to delete // only entries created with Creator - iEntryIds.Append( messageEntry.Id() ); + iEntryIds.AppendL( messageEntry.Id() ); CleanupStack::PopAndDestroy(3); //session, registry, clientMtm @@ -1511,7 +1511,7 @@ // id has been generated, store it for being able to delete // only entries created with Creator - iEntryIds.Append( messageEntry.Id() ); + iEntryIds.AppendL( messageEntry.Id() ); CleanupStack::PopAndDestroy(3); //session, registry, clientMtm diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_note.cpp --- a/creator/engine/src/creator_note.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_note.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -114,21 +114,20 @@ delete iParameters; iParameters = NULL; - CNotepadParameters* parameters = aParameters; - // random data needed if no predefined data available - if (!parameters) + if (!aParameters) { iParameters = new(ELeave) CNotepadParameters; - parameters = iParameters; - parameters->iNoteText->Des() = iEngine->RandomString(CCreatorEngine::EMessageText); } + else + { + iParameters = aParameters; + } + + TPtr noteTextPtr = iParameters->iNoteText->Des(); + noteTextPtr.Copy( iEngine->RandomString(CCreatorEngine::EMessageText).Left( noteTextPtr.MaxLength() ) ); - TInt err = KErrNone; - - iNotepadWrapper->CreateNoteL(parameters->iNoteText->Des()); - - return err; + return iNotepadWrapper->CreateNoteL( noteTextPtr ); } //---------------------------------------------------------------------------- diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_notepadwrapper.cpp --- a/creator/engine/src/creator_notepadwrapper.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_notepadwrapper.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -16,6 +16,7 @@ */ +#include #include "creator_notepadwrapper.h" /** @@ -30,13 +31,16 @@ */ CCreatorNotepadWrapper::~CCreatorNotepadWrapper() { -/* - if(iNotepadApi) + + iNotepadApi = NULL; + + if(iNotesEditorPluginLoader) { - delete iNotepadApi; - iNotepadApi = NULL; + iNotesEditorPluginLoader->unload(); + delete iNotesEditorPluginLoader; + iNotesEditorPluginLoader = NULL; } - */ + if(iAgendaUtil) { delete iAgendaUtil; @@ -72,16 +76,36 @@ void CCreatorNotepadWrapper::ConstructL() { iAgendaUtil = new AgendaUtil(); -// iNotepadApi = new NotesEditor(iAgendaUtil); + + // iNotepadApi = new NotesEditor(iAgendaUtil); + + // Load notes editor plugin. + // Launch the notes editor using notes editor plugin api + QDir dir(NOTES_EDITOR_PLUGIN_PATH); + QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME); + + QT_TRYCATCH_LEAVING( + // Create NotesEditor plugin loader object. + iNotesEditorPluginLoader = new QPluginLoader(pluginName); + + // Load the plugin + bool notesPluginLoaded = iNotesEditorPluginLoader->load(); + QObject *plugin = qobject_cast ( iNotesEditorPluginLoader->instance()); + + iNotepadApi = qobject_cast(plugin); + ); + } TInt CCreatorNotepadWrapper::CreateNoteL( const TDesC& aText ) { - TInt err = KErrNone; - QString textNote = QString::fromUtf16( aText.Ptr(),aText.Length()); + User::LeaveIfNull(iNotepadApi); + + QString textNote = QString::fromUtf16( aText.Ptr(),aText.Length()); iNotepadApi->edit(textNote,iAgendaUtil); iNotepadApi->close(NotesEditorInterface::CloseWithSave, iAgendaUtil); - return err; + + return KErrNone; } void CCreatorNotepadWrapper::DeleteAllL() { diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_phonebook.cpp --- a/creator/engine/src/creator_phonebook.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_phonebook.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -252,7 +252,7 @@ // create a new contact item TUint32 contactId = iPhonebookWrapper->CreateContactEntryL( parameters->iContactFields ); //wrapper should return contact id to store - iContactsToDelete.Append( contactId ); + iContactsToDelete.AppendL( contactId ); // If this contact has a link id in script (i.e. belongs to a contact-set), we must cache the contact id: @@ -392,7 +392,7 @@ TRAP_IGNORE( do{ //iContactMngr->CreateLinksLC( in )) != NULL ) // will leave with KErrEof previousLink = in.ReadUint32L(); - iPreviousDeleteLinks.Append( previousLink ); + iPreviousDeleteLinks.AppendL( previousLink ); if(previousLink) { r=true; @@ -658,7 +658,7 @@ // store the link to contact, so that Creator is able to delete // it when user requests deletion of contacts that were created with Creator - iContactGroupsToDelete.Append( newGroupId ); + iContactGroupsToDelete.AppendL( newGroupId ); return err; } diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_scriptelement.cpp --- a/creator/engine/src/creator_scriptelement.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_scriptelement.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -208,7 +208,7 @@ } else if( aIndex < iSubElements.Count()) { - iSubElements.Insert(aElem, aIndex); + iSubElements.InsertL(aElem, aIndex); } else { @@ -254,7 +254,7 @@ } else if( aIndex < iAttributes.Count()) { - iAttributes.Insert(aAttribute, aIndex); + iAttributes.InsertL(aAttribute, aIndex); } else { diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_scriptentry.cpp --- a/creator/engine/src/creator_scriptentry.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_scriptentry.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -95,7 +95,7 @@ iObserver->ScriptChosenL( EFalse ); } } - else if( aUserData == EGetingRandomDataFile && aPositiveAction && iSearchArray->Count() ) + else if( aUserData == EGetingRandomDataFile && iSearchArray->Count() ) { if(aPositiveAction) { diff -r b048e15729d6 -r 36d60d12b4af creator/engine/src/creator_scriptparser.cpp --- a/creator/engine/src/creator_scriptparser.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/engine/src/creator_scriptparser.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -142,7 +142,6 @@ { LOGSTRING2("Creator: CCreatorScriptParser::OnStartDocumentL (Error code: %d)", aErrorCode); User::LeaveIfError(aErrorCode); - const TDesC8& charSet = aDocParam.CharacterSetName().DesC(); } void CCreatorScriptParser::OnEndDocumentL(TInt aErrorCode) diff -r b048e15729d6 -r 36d60d12b4af creator/src/engine.cpp --- a/creator/src/engine.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/src/engine.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -2231,7 +2231,7 @@ TRAP( err, id = in.ReadInt32L() ); // will leave with KErrEof if ( !err ) { - aEntryIds.Append( id ); + aEntryIds.AppendL( id ); } } CleanupStack::PopAndDestroy( &in ); @@ -2262,7 +2262,7 @@ TRAP( err, id = in.ReadInt32L() ); // will leave with KErrEof if ( !err ) { - previousIds.Append( id ); + previousIds.AppendL( id ); } } CleanupStack::PopAndDestroy( &in ); @@ -2309,7 +2309,7 @@ TRAP( err, id = in.ReadUint32L() ); // will leave with KErrEof if ( !err ) { - aEntryIds.Append( id ); + aEntryIds.AppendL( id ); } } CleanupStack::PopAndDestroy( &in ); @@ -2340,7 +2340,7 @@ TRAP( err, id = in.ReadUint32L() ); // will leave with KErrEof if ( !err ) { - previousIds.Append( id ); + previousIds.AppendL( id ); } } CleanupStack::PopAndDestroy( &in ); diff -r b048e15729d6 -r 36d60d12b4af creator/src/notifications.cpp --- a/creator/src/notifications.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/creator/src/notifications.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -55,7 +55,7 @@ void Notifications::about() { showMessageBox(HbMessageBox::MessageTypeInformation, - "Version 6.1.1 - August 27th 2010. Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0.", + "Version 6.1.2 - September 9th 2010. Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0.", "About Creator", HbPopup::NoTimeout ); diff -r b048e15729d6 -r 36d60d12b4af launcher/engine/src/launcherdllelement.cpp --- a/launcher/engine/src/launcherdllelement.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/launcher/engine/src/launcherdllelement.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -75,31 +75,31 @@ if( iUID1 != aReferenceElement.UID1()) { diff = ETrue; - aDifferenceList.Append(this->EDifference_UID1); + aDifferenceList.AppendL(this->EDifference_UID1); LOGSTRING3("Launcher: CLauncherDLLElement::CompareL - UID1s differs: %x vs. %x", iUID1, aReferenceElement.UID1()); } if( iUID2!= aReferenceElement.UID2()) { diff = ETrue; - aDifferenceList.Append(this->EDifference_UID2); + aDifferenceList.AppendL(this->EDifference_UID2); LOGSTRING3("Launcher: CLauncherDLLElement::CompareL - UID2s differs: %x vs. %x", iUID2, aReferenceElement.UID2()); } if( iUID3 != aReferenceElement.UID3()) { diff = ETrue; - aDifferenceList.Append(this->EDifference_UID3); + aDifferenceList.AppendL(this->EDifference_UID3); LOGSTRING3("Launcher: CLauncherDLLElement::CompareL - UID3s differs: %x vs. %x", iUID3, aReferenceElement.UID3()); } if( iSID != aReferenceElement.SID()) { diff = ETrue; - aDifferenceList.Append(this->EDifference_SID); + aDifferenceList.AppendL(this->EDifference_SID); LOGSTRING3("Launcher: CLauncherDLLElement::CompareL - SIDs differs: %x vs. %x", iSID, aReferenceElement.SID()); } if( iCapability != aReferenceElement.Capability()) { diff = ETrue; - aDifferenceList.Append(this->EDifference_Capability); + aDifferenceList.AppendL(this->EDifference_Capability); LOGSTRING3("Launcher: CLauncherDLLElement::CompareL - Capabilities differs: %x vs. %x", iCapability, aReferenceElement.Capability()); } diff -r b048e15729d6 -r 36d60d12b4af loadgen/group/bld.inf --- a/loadgen/group/bld.inf Fri Sep 03 17:11:21 2010 +0300 +++ b/loadgen/group/bld.inf Fri Sep 17 14:22:55 2010 +0300 @@ -14,6 +14,7 @@ WINSCW GCCE ARMV5 ARMV6 #include "bld_generic.inf" +#include "../ui/avkon/group/bld.inf" prj_mmpfiles diff -r b048e15729d6 -r 36d60d12b4af loadgen/group/bld_generic.inf --- a/loadgen/group/bld_generic.inf Fri Sep 03 17:11:21 2010 +0300 +++ b/loadgen/group/bld_generic.inf Fri Sep 17 14:22:55 2010 +0300 @@ -23,7 +23,6 @@ ../group/backup_registration.xml Z:/private/20011384/backup_registration.xml - PRJ_MMPFILES #if defined(__SERIES60_30__) || defined(__SERIES60_31__) || defined(__S60_32__) gnumakefile loadgen_icons_aif.mk diff -r b048e15729d6 -r 36d60d12b4af loadgen/ui/avkon/data/loadgen.rss --- a/loadgen/ui/avkon/data/loadgen.rss Fri Sep 03 17:11:21 2010 +0300 +++ b/loadgen/ui/avkon/data/loadgen.rss Fri Sep 17 14:22:55 2010 +0300 @@ -247,7 +247,7 @@ id = EAknMessageQueryContentId; control = AVKON_MESSAGE_QUERY { - message = "Version 1.5.0 - 23rd April 2010. Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0."; + message = "Version 1.5.1 - 9th September 2010. Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0."; }; } }; diff -r b048e15729d6 -r 36d60d12b4af loadgen/ui/avkon/group/loadgen.mmp --- a/loadgen/ui/avkon/group/loadgen.mmp Fri Sep 03 17:11:21 2010 +0300 +++ b/loadgen/ui/avkon/group/loadgen.mmp Fri Sep 17 14:22:55 2010 +0300 @@ -46,6 +46,7 @@ END APP_LAYER_SYSTEMINCLUDE +USERINCLUDE /epoc32/include/mw/http USERINCLUDE ../inc SOURCEPATH ../src @@ -75,6 +76,7 @@ SOURCE loadgen_bluetooth.cpp SOURCE loadgen_pointerevent.cpp SOURCE loadgen_utils.cpp +SOURCE loadgen_httpreceiver.cpp LIBRARY euser.lib LIBRARY commonengine.lib @@ -110,5 +112,7 @@ LIBRARY esock.lib LIBRARY bluetooth.lib LIBRARY hal.lib +LIBRARY http.lib +LIBRARY inetprotutil.lib // End of File diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/data/memspyui.rss --- a/perfapps/memspyui/data/memspyui.rss Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/data/memspyui.rss Fri Sep 17 14:22:55 2010 +0300 @@ -1019,7 +1019,7 @@ id = EAknMessageQueryContentId; control = AVKON_MESSAGE_QUERY { - message = "Version 2.1.0 - 15th June 2010. Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0."; + message = "Version 2.2.1 - 7th September 2010. Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0."; }; } }; diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/memspywindowserverhelper/group/memspywindowserverhelper.mmp --- a/perfapps/memspyui/memspywindowserverhelper/group/memspywindowserverhelper.mmp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/memspywindowserverhelper/group/memspywindowserverhelper.mmp Fri Sep 17 14:22:55 2010 +0300 @@ -33,7 +33,8 @@ APP_LAYER_SYSTEMINCLUDE LIBRARY euser.lib -LIBRARY ws32.lib apgrfx.lib +LIBRARY ws32.lib +LIBRARY apgrfx.lib // End of File diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/memspywindowserverhelper/src/MemSpyEngineHelperWindowServerImpl.cpp --- a/perfapps/memspyui/memspywindowserverhelper/src/MemSpyEngineHelperWindowServerImpl.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/memspywindowserverhelper/src/MemSpyEngineHelperWindowServerImpl.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -19,7 +19,7 @@ // System includes #include -#include +#include // ============================= LOCAL FUNCTIONS =============================== @@ -157,7 +157,7 @@ User::Leave( KErrNotFound ); } task.BringToForeground(); - CleanupStack::PopAndDestroy( wgName ); + CleanupStack::PopAndDestroy( wgName ); } @@ -165,9 +165,6 @@ - - - CMemSpyEngineWindowGroupListImpl::CMemSpyEngineWindowGroupListImpl() { } diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/avkon/src/MemSpyAppUi.cpp --- a/perfapps/memspyui/ui/avkon/src/MemSpyAppUi.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/avkon/src/MemSpyAppUi.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -26,7 +26,6 @@ #include #include #include -#include #include // Engine includes @@ -746,8 +745,10 @@ void CMemSpyAppUi::OnCmdToolsSendToBackgroundL() { + /* TApaTask task( iCoeEnv->WsSession() ); task.SendToBackground(); + */ } diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/avkon/src/MemSpyContainer.cpp --- a/perfapps/memspyui/ui/avkon/src/MemSpyContainer.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/avkon/src/MemSpyContainer.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -20,7 +20,6 @@ // System includes #include // for example label control #include -#include // Engine includes #include diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/avkon/src/MemSpyDocument.cpp --- a/perfapps/memspyui/ui/avkon/src/MemSpyDocument.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/avkon/src/MemSpyDocument.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -37,7 +37,11 @@ CMemSpyDocument::~CMemSpyDocument() { delete iSettings; - iMemSpySession->Close(); + if( iMemSpySession != NULL ) + { + iMemSpySession->Close(); + delete iMemSpySession; + } } @@ -47,9 +51,9 @@ //cigasto //iEngine = CMemSpyEngine::NewL( fsSession ); - iMemSpySession = new (ELeave) RMemSpySession(); - //RMemSpySession iMemSpySession; - TInt error = iMemSpySession->Connect(); + iMemSpySession = new (ELeave) RMemSpySession(); + + TInt error = iMemSpySession->Connect(); if(error != KErrNotFound) { User::LeaveIfError( error ); diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/avkon/src/MemSpyViewBase.cpp --- a/perfapps/memspyui/ui/avkon/src/MemSpyViewBase.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/avkon/src/MemSpyViewBase.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -20,7 +20,6 @@ // System includes #include // for example label control #include -#include #include #include #include @@ -120,7 +119,7 @@ { iListBox->UpdateScrollBarsL(); } - + DrawDeferred(); } diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/avkon/src/MemSpyViewHeapTracking.cpp --- a/perfapps/memspyui/ui/avkon/src/MemSpyViewHeapTracking.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/avkon/src/MemSpyViewHeapTracking.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -43,12 +43,10 @@ : CMemSpyViewBase( aSession, aObserver ), iState( EMemSpyViewHeapTrackingStateIdle ) { - /* - if ( iEngine.HelperSysMemTracker().IsActive() ) - { - iState = EMemSpyViewHeapTrackingStateTimerOn; - } - */ + if( iMemSpySession.IsSwmtRunningL() ) + { + iState = EMemSpyViewHeapTrackingStateTimerOn; + } } @@ -403,8 +401,8 @@ { aConfig.iMode = aMode; aConfig.iEnabledCategories = TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryUserHeap | - TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryUserStacks | - TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryGlobalData | + //TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryUserStacks | + //TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryGlobalData | TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategorySystemMemory; aConfig.iDumpData = EFalse; break; diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/avkon/src/MemSpyViewHeapTrackingSettings.cpp --- a/perfapps/memspyui/ui/avkon/src/MemSpyViewHeapTrackingSettings.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/avkon/src/MemSpyViewHeapTrackingSettings.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -327,77 +327,77 @@ { SetEmptyItemTextL(_L("Nothing selected")); iItemArray = new(ELeave) CSelectionItemList(16); - AddNewItemToArrayL( _L("User Heap") ); // 0 - AddNewItemToArrayL( _L("Kernel Heap") ); // 1 - AddNewItemToArrayL( _L("User Stacks") ); // 2 - AddNewItemToArrayL( _L("Global Data") ); // 3 - AddNewItemToArrayL( _L("Disk Usage") ); // 4 - AddNewItemToArrayL( _L("Open Files") ); // 5 - AddNewItemToArrayL( _L("RAM-loaded Code") ); // 6 - AddNewItemToArrayL( _L("System Memory") ); // 7 - AddNewItemToArrayL( _L("Local Chunks") ); // 8 - AddNewItemToArrayL( _L("Global Chunks") ); // 9 - AddNewItemToArrayL( _L("RAM Drive") ); // 10 - AddNewItemToArrayL( _L("FileServer Cache") );// 11 - AddNewItemToArrayL( _L("Kernel Handles") ); // 12 - AddNewItemToArrayL( _L("Bitmap Handles") ); // 13 - AddNewItemToArrayL( _L("Window Groups") ); // 14 + AddNewItemToArrayL( _L("User Heap") ); // 0 >> 0 + //AddNewItemToArrayL( _L("Kernel Heap") ); // 1 + //AddNewItemToArrayL( _L("User Stacks") ); // 2 + //AddNewItemToArrayL( _L("Global Data") ); // 3 + AddNewItemToArrayL( _L("Disk Usage") ); // 4 >> 1 + AddNewItemToArrayL( _L("Open Files") ); // 5 >> 2 + AddNewItemToArrayL( _L("RAM-loaded Code") ); // 6 >> 3 + AddNewItemToArrayL( _L("System Memory") ); // 7 >> 4 + AddNewItemToArrayL( _L("Local Chunks") ); // 8 >> 5 + AddNewItemToArrayL( _L("Global Chunks") ); // 9 >> 6 + AddNewItemToArrayL( _L("RAM Drive") ); // 10 >> 7 + AddNewItemToArrayL( _L("FileServer Cache") );// 11 >> 8 + AddNewItemToArrayL( _L("Kernel Handles") ); // 12 >> 9 + //AddNewItemToArrayL( _L("Bitmap Handles") ); // 13 + AddNewItemToArrayL( _L("Window Groups") ); // 14 >> 10 } void CSWMTCategorySelectionCheckBoxSettingItem::StoreL() { iExtCategories = 0; - if ( iItemArray->At( 11 )->SelectionStatus() ) + if ( iItemArray->At( 8 )->SelectionStatus() ) iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryFileServerCache; - if ( iItemArray->At( 13 )->SelectionStatus() ) - iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryBitmapHandles; + //if ( iItemArray->At( 13 )->SelectionStatus() ) + // iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryBitmapHandles; if ( iItemArray->At( 0 )->SelectionStatus() ) iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryUserHeap; - if ( iItemArray->At( 1 )->SelectionStatus() ) - iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryKernelHeap; - if ( iItemArray->At( 8 )->SelectionStatus() ) + //if ( iItemArray->At( 1 )->SelectionStatus() ) + // iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryKernelHeap; + if ( iItemArray->At( 5 )->SelectionStatus() ) iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryLocalChunks; - if ( iItemArray->At( 9 )->SelectionStatus() ) + if ( iItemArray->At( 6 )->SelectionStatus() ) iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryGlobalChunks; - if ( iItemArray->At( 10 )->SelectionStatus() ) + if ( iItemArray->At( 7 )->SelectionStatus() ) iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryRAMDrive; - if ( iItemArray->At( 2 )->SelectionStatus() ) - iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryUserStacks; + //if ( iItemArray->At( 2 )->SelectionStatus() ) + // iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryUserStacks; + //if ( iItemArray->At( 3 )->SelectionStatus() ) + // iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryGlobalData; if ( iItemArray->At( 3 )->SelectionStatus() ) - iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryGlobalData; - if ( iItemArray->At( 6 )->SelectionStatus() ) iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryRAMLoadedCode; - if ( iItemArray->At( 12 )->SelectionStatus() ) + if ( iItemArray->At( 9 )->SelectionStatus() ) iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryKernelHandles; - if ( iItemArray->At( 5 )->SelectionStatus() ) + if ( iItemArray->At( 2 )->SelectionStatus() ) iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryOpenFiles; - if ( iItemArray->At( 4 )->SelectionStatus() ) + if ( iItemArray->At( 1 )->SelectionStatus() ) iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryDiskusage; - if ( iItemArray->At( 7 )->SelectionStatus() ) + if ( iItemArray->At( 4 )->SelectionStatus() ) iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategorySystemMemory; - if ( iItemArray->At( 14 )->SelectionStatus() ) + if ( iItemArray->At( 10 )->SelectionStatus() ) iExtCategories |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryWindowGroups; } void CSWMTCategorySelectionCheckBoxSettingItem::LoadL() { - iItemArray->At( 11 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryFileServerCache ); - iItemArray->At( 13 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryBitmapHandles ); + iItemArray->At( 8 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryFileServerCache ); + //iItemArray->At( 13 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryBitmapHandles ); iItemArray->At( 0 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryUserHeap ); - iItemArray->At( 1 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryKernelHeap ); - iItemArray->At( 8 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryLocalChunks ); - iItemArray->At( 9 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryGlobalChunks ); - iItemArray->At( 10 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryRAMDrive ); - iItemArray->At( 2 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryUserStacks ); - iItemArray->At( 3 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryGlobalData ); - iItemArray->At( 6 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryRAMLoadedCode ); - iItemArray->At( 12 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryKernelHandles ); - iItemArray->At( 5 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryOpenFiles ); - iItemArray->At( 4 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryDiskusage ); - iItemArray->At( 7 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategorySystemMemory ); - iItemArray->At( 14 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryWindowGroups ); + //iItemArray->At( 1 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryKernelHeap ); + iItemArray->At( 5 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryLocalChunks ); + iItemArray->At( 6 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryGlobalChunks ); + iItemArray->At( 7 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryRAMDrive ); + //iItemArray->At( 2 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryUserStacks ); + //iItemArray->At( 3 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryGlobalData ); + iItemArray->At( 3 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryRAMLoadedCode ); + iItemArray->At( 9 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryKernelHandles ); + iItemArray->At( 2 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryOpenFiles ); + iItemArray->At( 1 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryDiskusage ); + iItemArray->At( 4 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategorySystemMemory ); + iItemArray->At( 10 )->SetSelectionStatus( iExtCategories & TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryWindowGroups ); } diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/avkon/src/MemSpyViewKernelContainers.cpp --- a/perfapps/memspyui/ui/avkon/src/MemSpyViewKernelContainers.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/avkon/src/MemSpyViewKernelContainers.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -48,6 +48,7 @@ CMemSpyViewKernelContainers::~CMemSpyViewKernelContainers() { + iKernelObjects.Reset(); //delete iModel; } @@ -87,7 +88,7 @@ CMemSpyViewBase* CMemSpyViewKernelContainers::PrepareChildViewL() { CMemSpyViewBase* child = NULL; - const TInt index = iListBox->CurrentItemIndex(); + const TInt index = iListBox->CurrentItemIndex(); //child = new(ELeave) CMemSpyViewKernelObjects( iEngine, iObserver, iModel->At( index ).Type() ); child = new(ELeave) CMemSpyViewKernelObjects( iMemSpySession, iObserver, iKernelObjects[index]->Type() ); CleanupStack::PushL( child ); diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/avkon/src/MemSpyViewProcesses.cpp --- a/perfapps/memspyui/ui/avkon/src/MemSpyViewProcesses.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/avkon/src/MemSpyViewProcesses.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -56,7 +56,7 @@ CMemSpyViewProcesses::~CMemSpyViewProcesses() { - iProcesses.Close(); + iProcesses.Reset(); //delete iSearchField; delete iMatcherBuffer; } diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/avkon/src/MemSpyViewServerList.cpp --- a/perfapps/memspyui/ui/avkon/src/MemSpyViewServerList.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/avkon/src/MemSpyViewServerList.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -32,7 +32,7 @@ // User includes #include "MemSpyUiUtils.h" #include "MemSpyViewMainMenu.h" -#include "MemSpyViewProcesses.h" +#include "MemSpyViewThreads.h" #include "MemSpyContainerObserver.h" @@ -53,6 +53,7 @@ CMemSpyViewServerList::~CMemSpyViewServerList() { delete iList; + iServers.Reset(); } @@ -121,9 +122,10 @@ { CMemSpyViewBase* child = NULL; - if ( iActionedItemIndex ) + if ( iActionedItemIndex >= 0 ) { - child = new(ELeave) CMemSpyViewProcesses( iMemSpySession, iObserver, iServers[iActionedItemIndex]->Id() ); + //child = new(ELeave) CMemSpyViewProcesses( iMemSpySession, iObserver, iServers[iActionedItemIndex]->ProcessId() ); + child = new(ELeave) CMemSpyViewThreads( iMemSpySession, iObserver, iServers[iActionedItemIndex]->ProcessId(), iServers[iActionedItemIndex]->ThreadId() ); CleanupStack::PushL( child ); child->ConstructL( Rect(), *Parent() ); CleanupStack::Pop( child ); @@ -192,7 +194,7 @@ } else { - iActionedItem = NULL; + iActionedItemIndex = -1; } // Notify observer about an item being 'fired' diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/avkon/src/MemSpyViewThreads.cpp --- a/perfapps/memspyui/ui/avkon/src/MemSpyViewThreads.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/avkon/src/MemSpyViewThreads.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -46,6 +46,7 @@ CMemSpyViewThreads::~CMemSpyViewThreads() { + iThreads.Reset(); } diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/hb/hb.pro --- a/perfapps/memspyui/ui/hb/hb.pro Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/hb/hb.pro Fri Sep 17 14:22:55 2010 +0300 @@ -44,7 +44,9 @@ inc/memspyecomcategoryview.h \ inc/memspyecominterfaceview.h \ inc/memspyecomimplementationview.h \ - inc/memspyecomimplementationdetailview.h + inc/memspyecomimplementationdetailview.h \ + inc/memspywindowgroupsview.h \ + inc/memspywindowgroupsdetailview.h SOURCES += src/main.cpp \ src/enginewrapper.cpp \ @@ -67,7 +69,9 @@ src/memspyecomcategoryview.cpp \ src/memspyecominterfaceview.cpp \ src/memspyecomimplementationview.cpp \ - src/memspyecomimplementationdetailview.cpp + src/memspyecomimplementationdetailview.cpp \ + src/memspywindowgroupsview.cpp \ + src/memspywindowgroupsdetailview.cpp RESOURCES += @@ -76,7 +80,6 @@ -lbafl \ -lMemSpyClient \ -lefsrv - TARGET.CAPABILITY = ReadUserData WriteUserData ReadDeviceData WriteDeviceData SwEvent PowerMgmt diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/hb/inc/enginewrapper.h --- a/perfapps/memspyui/ui/hb/inc/enginewrapper.h Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/hb/inc/enginewrapper.h Fri Sep 17 14:22:55 2010 +0300 @@ -348,7 +348,9 @@ virtual ~MemSpyServer() { delete mServer; } - ProcessId id() const { return mServer->Id(); } + ProcessId processId() const { return mServer->ProcessId(); } + + ThreadId threadId() const { return mServer->ThreadId(); } QString name() const { return QString((QChar*) mServer->Name().Ptr(), mServer->Name().Length()); } @@ -431,6 +433,47 @@ CMemSpyApiEComImplementation *mData; }; +class MemSpyWindowGroup +{ +public: + MemSpyWindowGroup(CMemSpyApiWindowGroup* group) + : mData(group) + {} + + virtual ~MemSpyWindowGroup() { delete mData; } + + int id() const { return mData->Id(); } + + QString name() const { return QString((QChar*) mData->Name().Ptr(), mData->Name().Length()); } + + QString fullName() const { return QString((QChar*) mData->FullName().Ptr(), mData->FullName().Length()); } + + ThreadId threadId() const { return mData->ThreadId(); } + + int ordinalPosition() const { return mData->OrdinalPosition(); } + + int priority() const { return mData->Priority(); } + + int windowGroupHandle() const { return mData->WindowGroupHandle(); } + + int uid() const { return mData->Uid().iUid; } + + bool isBusy() const { return mData->IsBusy(); } + + bool isSystem() const { return mData->IsSystem(); } + + bool isHidden() const { return mData->IsHidden(); } + + bool isFocused() const { return mData->IsFocused(); } + + QString caption() const { return QString((QChar*) mData->Caption().Ptr(), mData->Caption().Length()); } + + QString docName() const { return QString((QChar*) mData->DocName().Ptr(), mData->DocName().Length()); } + +private: + CMemSpyApiWindowGroup *mData; +}; + class MemSpyDwoProgressTracker : public QObject, public CActive { @@ -597,6 +640,8 @@ QList getEComImplementations(int interfaceId); + QList getWindowGroups(); + MemSpyDwoTracker* createDeviceWideOperation(DeviceWideOperation operation); MemSpyKernelHeapDumpTracker* createKernelHeapDumpTracker(); diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/hb/inc/memspywindowgroupsdetailview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/perfapps/memspyui/ui/hb/inc/memspywindowgroupsdetailview.h Fri Sep 17 14:22:55 2010 +0300 @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#ifndef MEMSPYWINDOWGROUPSDETAILVIEW_H_ +#define MEMSPYWINDOWGROUPSDETAILVIEW_H_ + +#include + +#include "memspylistview.h" +#include "enginewrapper.h" + + +class MemSpyWindowGroupsDetailModel : public QAbstractListModel +{ +public: + MemSpyWindowGroupsDetailModel(MemSpyWindowGroup* group, QObject *parent = 0); + + int rowCount(const QModelIndex &parent = QModelIndex()) const; + + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + +private: + QVariantList mData; +}; + +class MemSpyWindowGroupsDetailView : public MemSpyListView +{ + + Q_OBJECT + +public: + MemSpyWindowGroupsDetailView(EngineWrapper &engine, ViewManager &viewManager) : + MemSpyListView(engine, viewManager), + mModel(0) + {} + +protected: + void initialize(const QVariantMap& params); + +private: + MemSpyWindowGroupsDetailModel* mModel; +}; + +#endif /* MEMSPYWINDOWGROUPSDETAILVIEW_H_ */ diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/hb/inc/memspywindowgroupsview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/perfapps/memspyui/ui/hb/inc/memspywindowgroupsview.h Fri Sep 17 14:22:55 2010 +0300 @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#ifndef MEMSPYWINDOWGROUPSVIEW_H_ +#define MEMSPYWINDOWGROUPSVIEW_H_ + +#include + +#include "memspylistview.h" +#include "enginewrapper.h" + + +class MemSpyWindowGroupsModel : public QAbstractListModel +{ +public: + MemSpyWindowGroupsModel(EngineWrapper &engine, QObject *parent = 0); + + ~MemSpyWindowGroupsModel(); + + int rowCount(const QModelIndex &parent = QModelIndex()) const; + + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + + void refresh(); + +private: + int mInterfaceId; + + EngineWrapper& mEngine; + + QList mData; +}; + +class MemSpyWindowGroupsView : public MemSpyListView +{ + + Q_OBJECT + +public: + MemSpyWindowGroupsView(EngineWrapper &engine, ViewManager &viewManager) : + MemSpyListView(engine, viewManager), + mModel(0) + {} + +public slots: + virtual void refresh(); + +protected: + void initialize(const QVariantMap& params); + +protected: + virtual bool isRefreshable() const { return true; } + +private slots: + void itemClicked(const QModelIndex& index); + +private: + MemSpyWindowGroupsModel* mModel; +}; + +#endif /* MEMSPYWINDOWGROUPSVIEW_H_ */ diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/hb/inc/viewmanager.h --- a/perfapps/memspyui/ui/hb/inc/viewmanager.h Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/hb/inc/viewmanager.h Fri Sep 17 14:22:55 2010 +0300 @@ -39,6 +39,8 @@ EComInterfaceView, EComImplementationView, EComImplementationDetailView, + WindowGroupsView, + WindowGroupsDetailView, }; class HbMainWindow; diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/hb/src/enginewrapper.cpp --- a/perfapps/memspyui/ui/hb/src/enginewrapper.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/hb/src/enginewrapper.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -433,6 +433,20 @@ return result; } +QList EngineWrapper::getWindowGroups() +{ + QList result; + + RArray groups; + + QT_TRAP_THROWING(mSession.GetWindowGroupsL(groups)); + + for (TInt i=0; iid(); + return mServers.at(index.row())->processId(); return QVariant(); } diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/hb/src/memspyswmtview.cpp --- a/perfapps/memspyui/ui/hb/src/memspyswmtview.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/hb/src/memspyswmtview.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -129,7 +129,7 @@ mProgressDialog = new HbProgressDialog(HbProgressDialog::WaitDialog); mProgressDialog->setText(tr("Please wait...")); - mProgressDialog->setPrimaryAction(0); + mProgressDialog->removeAction(mProgressDialog->actions().at(0)); mProgressDialog->show(); tracker->start(); diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/hb/src/memspyview.cpp --- a/perfapps/memspyui/ui/hb/src/memspyview.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/hb/src/memspyview.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -142,7 +142,7 @@ void MemSpyView::showAbout() { HbMessageBox *messageBox = new HbMessageBox(HbMessageBox::MessageTypeInformation); - messageBox->setText("Version 2.2.0 - 24th August 2010. Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0."); + messageBox->setText("Version 2.2.1 - 7th September 2010. Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0."); HbLabel *header = new HbLabel("About MemSpy", messageBox); messageBox->setHeadingWidget(header); messageBox->setAttribute(Qt::WA_DeleteOnClose); diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/hb/src/memspywindowgroupsdetailview.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/perfapps/memspyui/ui/hb/src/memspywindowgroupsdetailview.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#include "memspywindowgroupsdetailview.h" +#include "viewmanager.h" + +MemSpyWindowGroupsDetailModel::MemSpyWindowGroupsDetailModel(MemSpyWindowGroup* group, QObject *parent) : + QAbstractListModel(parent) +{ + mData << (QStringList() << tr("WG ID") << QString("%1").arg(group->id())); + mData << (QStringList() << tr("Client ThreadId") << QString("%1").arg(group->threadId())); + mData << (QStringList() << tr("Thr") << group->fullName()); + mData << (QStringList() << tr("Priority") << QString("%1").arg(group->priority())); + mData << (QStringList() << tr("Handle") << QString("0x%1").arg(group->windowGroupHandle(), 0, 16)); + mData << (QStringList() << tr("Name") << group->name()); + mData << (QStringList() << tr("UID") << QString("%1").arg(group->uid())); + mData << (QStringList() << tr("IsBusy") << (group->isBusy() ? tr("Yes") : tr("No"))); + mData << (QStringList() << tr("IsSystem") << (group->isSystem() ? tr("Yes") : tr("No"))); + mData << (QStringList() << tr("IsHidden") << (group->isHidden() ? tr("Yes") : tr("No"))); + mData << (QStringList() << tr("Caption") << group->caption()); + mData << (QStringList() << tr("Docname") << group->docName()); +} + +int MemSpyWindowGroupsDetailModel::rowCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return mData.count(); +} + +QVariant MemSpyWindowGroupsDetailModel::data(const QModelIndex &index, int role) const +{ + if (role == Qt::DisplayRole) + return mData.at(index.row()); + + return QVariant(); +} + +void MemSpyWindowGroupsDetailView::initialize(const QVariantMap& params) +{ + setTitle(tr("Window Group Detail")); + MemSpyView::initialize(params); + + MemSpyWindowGroup* group = static_cast( + qVariantValue(params["group"])); + + mModel = new MemSpyWindowGroupsDetailModel(group); + mListView.setModel(mModel); +} diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/hb/src/memspywindowgroupsview.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/perfapps/memspyui/ui/hb/src/memspywindowgroupsview.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#include "memspywindowgroupsview.h" +#include "viewmanager.h" + +MemSpyWindowGroupsModel::MemSpyWindowGroupsModel(EngineWrapper &engine, QObject *parent) : + QAbstractListModel(parent), + mEngine(engine), + mData(engine.getWindowGroups()) +{ +} + +MemSpyWindowGroupsModel::~MemSpyWindowGroupsModel() +{ + qDeleteAll(mData); +} + +int MemSpyWindowGroupsModel::rowCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return mData.count(); +} + +QVariant MemSpyWindowGroupsModel::data(const QModelIndex &index, int role) const +{ + if (role == Qt::DisplayRole) { + const MemSpyWindowGroup* group = mData.at(index.row()); + + QStringList lines; + lines << group->fullName(); + lines << QString("%1").arg(group->id()); + + return lines; + } + + if (role == Qt::UserRole) + return qVariantFromValue(mData.at(index.row())); + + return QVariant(); +} + +void MemSpyWindowGroupsModel::refresh() +{ + beginResetModel(); + QList data = mEngine.getWindowGroups(); + qDeleteAll(mData); + mData = data; + endResetModel(); +} + + +void MemSpyWindowGroupsView::initialize(const QVariantMap& params) +{ + setTitle(tr("Window Groups")); + + MemSpyView::initialize(params); + + mModel = new MemSpyWindowGroupsModel(mEngine, this); + mListView.setModel(mModel); + + connect(&mListView, SIGNAL(activated(QModelIndex)), this, SLOT(itemClicked(QModelIndex))); +} + +void MemSpyWindowGroupsView::itemClicked(const QModelIndex& index) +{ + QVariantMap map; + map.insert("group", index.data(Qt::UserRole)); + mViewManager.showView(WindowGroupsDetailView, map); +} + +void MemSpyWindowGroupsView::refresh() +{ + mModel->refresh(); +} diff -r b048e15729d6 -r 36d60d12b4af perfapps/memspyui/ui/hb/src/viewmanager.cpp --- a/perfapps/memspyui/ui/hb/src/viewmanager.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/memspyui/ui/hb/src/viewmanager.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -40,6 +40,8 @@ #include "memspyecominterfaceview.h" #include "memspyecomimplementationview.h" #include "memspyecomimplementationdetailview.h" +#include "memspywindowgroupsview.h" +#include "memspywindowgroupsdetailview.h" template static MemSpyView* factory(EngineWrapper &engine, ViewManager &viewManager) @@ -64,6 +66,8 @@ &factory, &factory, &factory, + &factory, + &factory, }; diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/data/perfmon.rss --- a/perfapps/perfmon/data/perfmon.rss Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/data/perfmon.rss Fri Sep 17 14:22:55 2010 +0300 @@ -594,7 +594,7 @@ id = EAknMessageQueryContentId; control = AVKON_MESSAGE_QUERY { - message = "Version 1.2.0 - 26th August 2010. Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0."; + message = "Version 1.2.1 - 10th September 2010. Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0."; }; } }; diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/engine/inc/perfmon_powerlistener.h --- a/perfapps/perfmon/engine/inc/perfmon_powerlistener.h Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/engine/inc/perfmon_powerlistener.h Fri Sep 17 14:22:55 2010 +0300 @@ -25,10 +25,12 @@ #include "perfmon.hrh" // HWRM reporting interval multiplier -const TInt KSampleIntervalMultiple = 1; -const TInt KReportingDuration = 0; // Infinite duration +const TInt KHWRMSampleIntervalMultiple = 1; +const TInt KHWRMReportingDuration = 0; // Infinite duration -class CPerfMonPowerListener : public CBase, public MHWRMBatteryPowerObserver +class CPerfMonPowerListenerImpl; + +class CPerfMonPowerListener : public CBase { public: static CPerfMonPowerListener* NewL(); @@ -38,13 +40,42 @@ CPerfMonPowerListener(); void ConstructL(); +public: + // Is power monitoring feature suported by platform + static inline TBool IsSupported() { return iIsSupported; }; + + // Start monitoring power data + TInt Activate(); + // Stop monitoring power data + void DeActivate(); + + // Get average power since last read. + TInt GetPower(); + // Maximum power value since measurement started + TInt GetMaxPower(); + +private: + static TBool iIsSupported; + CPerfMonPowerListenerImpl* iPowerListenerImpl; + }; + + + +class CPerfMonPowerListenerImpl : public CBase, public MHWRMBatteryPowerObserver + { +public: + static CPerfMonPowerListenerImpl* NewL(); + ~CPerfMonPowerListenerImpl(); + +private: + CPerfMonPowerListenerImpl(); + void ConstructL(); + // Handling central repository max reporting period key - void GetReportingPeriodL(); + TInt GetReportingPeriodL(); void SetReportingPeriodL(TInt aDuration); public: - static TBool IsSupported(); - // Start monitoring power values TInt Activate(); // Stop monitoring power values diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/engine/src/perfmon_engine.cpp --- a/perfapps/perfmon/engine/src/perfmon_engine.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/engine/src/perfmon_engine.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -863,7 +863,7 @@ iSettings.iCPUMode = ECPUModeCPUTime; iSettings.iKeepBacklightOn = ETrue; - iSettings.iDataPopupVisibility = EDataPopupVisbilityAlwaysOn; + iSettings.iDataPopupVisibility = EDataPopupVisbilityAlwaysAlwaysOff; iSettings.iDataPopupLocation = EDataPopupLocationTopRight; iSettings.iDataPopupSources.SetDefaults1(); diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/engine/src/perfmon_powerlistener.cpp --- a/perfapps/perfmon/engine/src/perfmon_powerlistener.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/engine/src/perfmon_powerlistener.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -22,241 +22,279 @@ #include #include - -#if (SYMBIAN_VERSION_SUPPORT == SYMBIAN_3) - - CPerfMonPowerListener* CPerfMonPowerListener::NewL() - { - CPerfMonPowerListener* self = new (ELeave) CPerfMonPowerListener(); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - - // -------------------------------------------------------------------------------------------- - - CPerfMonPowerListener::CPerfMonPowerListener() : - iHWRMPower(0), - iLastPowerAvg(0), - iMaxPower(0), - iOriginalMaxReportingPeriod(0) - { - } - - // -------------------------------------------------------------------------------------------- +TBool CPerfMonPowerListener::iIsSupported = ETrue; - void CPerfMonPowerListener::ConstructL() - { - } - - // -------------------------------------------------------------------------------------------- - - CPerfMonPowerListener::~CPerfMonPowerListener() - { - DeActivate(); - - if (iHWRMPower != 0) - { - delete iHWRMPower; - iHWRMPower = 0; - } - } - - // -------------------------------------------------------------------------------------------- - - TBool CPerfMonPowerListener::IsSupported() - { - return ETrue; - } - - // -------------------------------------------------------------------------------------------- +/* + * + * class CPerfMonPowerListener implementation + * + */ - TInt CPerfMonPowerListener::Activate() - { - if (iHWRMPower == 0) - { - TRAPD(err, iHWRMPower = CHWRMPower::NewL()); - if (err != KErrNone) - { - return err; - } - - // Callbacks to this object - err = iHWRMPower->SetPowerReportObserver(this); - if (err != KErrNone) - { - return err; - } - - TRAP_IGNORE(GetReportingPeriodL()); - } - - // Set infinite reporting period - TRAPD(err, SetReportingPeriodL(KReportingDuration)); - if (err != KErrNone) - { - return err; - } - - TRequestStatus status(KRequestPending); +CPerfMonPowerListener* CPerfMonPowerListener::NewL() + { + CPerfMonPowerListener* self = new (ELeave) CPerfMonPowerListener(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } - // Start the power consumption notification - iHWRMPower->StartAveragePowerReporting(status, KSampleIntervalMultiple); - User::WaitForRequest(status); - - // Check if monitoring was succesfully started or already ongoing. - if ((status.Int() != KErrNone) && (status.Int() != KErrAlreadyExists)) - { - return status.Int(); - } - - return KErrNone; - } +// -------------------------------------------------------------------------------------------- - // --------------------------------------------------------------------------- +CPerfMonPowerListener::CPerfMonPowerListener() : + iPowerListenerImpl(NULL) + { + } - void CPerfMonPowerListener::DeActivate() - { - if (iHWRMPower != 0) - { - TRAP_IGNORE(iHWRMPower->StopAveragePowerReportingL()); - } - - // Restore original value to max sampling duration - TRAP_IGNORE(SetReportingPeriodL(iOriginalMaxReportingPeriod)); - - iPowerBuffer.Reset(); - iLastPowerAvg = 0; - } +// -------------------------------------------------------------------------------------------- - // --------------------------------------------------------------------------- - - TInt CPerfMonPowerListener::GetPower() - { - TInt avgPower = 0; - TInt newValueCount = iPowerBuffer.Count(); - - if (newValueCount > 0) - { - // Read all new values from buffer and calculate average from them. - for (int i = 0; i < newValueCount; i++) - { - avgPower += iPowerBuffer[i]; - } - avgPower = avgPower / newValueCount; - - iPowerBuffer.Reset(); - iLastPowerAvg = avgPower; - } - else - { - avgPower = iLastPowerAvg; - } - - return avgPower; - } - - // --------------------------------------------------------------------------- - - void CPerfMonPowerListener::PowerMeasurement(TInt aErrCode, CHWRMPower::TBatteryPowerMeasurementData& aMeasurement) - { - if (aErrCode == KErrNone) - { - // Store new value to buffer to wait for reading - TInt value = aMeasurement.iAverageVoltage * aMeasurement.iAverageCurrent; - - // If charger is connected, reported values may be negative. - if (value < 0) - { - value = 0; - } - - iPowerBuffer.Append(value); - - if ( value > iMaxPower ) - { - iMaxPower = value; - } - } - // Ignore any errors - } - - void CPerfMonPowerListener::GetReportingPeriodL() +void CPerfMonPowerListener::ConstructL() + { + TRAPD(err, iPowerListenerImpl = CPerfMonPowerListenerImpl::NewL()); + if (err != KErrNone) { - CRepository* cenRep = CRepository::NewL(KCRUidPowerSettings); - - CleanupStack::PushL(cenRep); - User::LeaveIfError(cenRep->Get(KPowerMaxReportingPeriod, iOriginalMaxReportingPeriod)); - CleanupStack::Pop(); + iPowerListenerImpl = NULL; - delete cenRep; + // Could not initialize power monitoring client. Feature support not available. + iIsSupported = EFalse; } - - void CPerfMonPowerListener::SetReportingPeriodL(TInt aDuration) - { - CRepository* cenRep = CRepository::NewL(KCRUidPowerSettings); + } - CleanupStack::PushL(cenRep); - User::LeaveIfError(cenRep->Set(KPowerMaxReportingPeriod, aDuration)); - CleanupStack::Pop(); - - delete cenRep; - } +// -------------------------------------------------------------------------------------------- -// SYMBIAN_VERSION_SUPPORT < SYMBIAN_3 -#else +CPerfMonPowerListener::~CPerfMonPowerListener() + { + DeActivate(); - // Stub implementation for older Symbian versions - - CPerfMonPowerListener* CPerfMonPowerListener::NewL() + if (iPowerListenerImpl) { - CPerfMonPowerListener* self = new (ELeave) CPerfMonPowerListener(); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; + delete iPowerListenerImpl; + iPowerListenerImpl = 0; } + } - CPerfMonPowerListener::CPerfMonPowerListener() : - iHWRMPower(0), - iLastPowerAvg(0), - iMaxPower(0) - { - } +// -------------------------------------------------------------------------------------------- - void CPerfMonPowerListener::ConstructL() +TInt CPerfMonPowerListener::Activate() + { + if (iPowerListenerImpl) { - } - - CPerfMonPowerListener::~CPerfMonPowerListener() - { - DeActivate(); + return iPowerListenerImpl->Activate(); } - - TBool CPerfMonPowerListener::IsSupported() - { - return EFalse; - } - - TInt CPerfMonPowerListener::Activate() + else { return KErrNotSupported; } + } - void CPerfMonPowerListener::DeActivate() +// --------------------------------------------------------------------------- + +void CPerfMonPowerListener::DeActivate() + { + if (iPowerListenerImpl) + { + iPowerListenerImpl->DeActivate(); + } + } + +// --------------------------------------------------------------------------- + +TInt CPerfMonPowerListener::GetPower() + { + if (iPowerListenerImpl) { + return iPowerListenerImpl->GetPower(); } + else + { + return 0; + } + } - TInt CPerfMonPowerListener::GetPower() +// --------------------------------------------------------------------------- + +TInt CPerfMonPowerListener::GetMaxPower() + { + if (iPowerListenerImpl) + { + return iPowerListenerImpl->GetMaxPower(); + } + else { return 0; } + } - void CPerfMonPowerListener::PowerMeasurement(TInt aErrCode, CHWRMPower::TBatteryPowerMeasurementData& aMeasurement) +/* + * + * class CPerfMonPowerListenerImpl implementation + * + */ + +CPerfMonPowerListenerImpl* CPerfMonPowerListenerImpl::NewL() + { + CPerfMonPowerListenerImpl* self = new (ELeave) CPerfMonPowerListenerImpl(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } + +// -------------------------------------------------------------------------------------------- + +CPerfMonPowerListenerImpl::CPerfMonPowerListenerImpl() : + iHWRMPower(NULL), + iLastPowerAvg(0), + iMaxPower(0), + iOriginalMaxReportingPeriod(0) + { + } + +// -------------------------------------------------------------------------------------------- + +void CPerfMonPowerListenerImpl::ConstructL() + { + iHWRMPower = CHWRMPower::NewL(); + + // Callbacks to this object + User::LeaveIfError(iHWRMPower->SetPowerReportObserver(this)); + + iOriginalMaxReportingPeriod = GetReportingPeriodL(); + } + +// -------------------------------------------------------------------------------------------- + +CPerfMonPowerListenerImpl::~CPerfMonPowerListenerImpl() + { + DeActivate(); + + if (iHWRMPower) { + delete iHWRMPower; + iHWRMPower = 0; + } + } + +// -------------------------------------------------------------------------------------------- + +TInt CPerfMonPowerListenerImpl::Activate() + { + // Set infinite reporting period + TRAPD(err, SetReportingPeriodL(KHWRMReportingDuration)); + if (err != KErrNone) + { + return err; + } + + TRequestStatus status(KRequestPending); + + // Start the power consumption notification + iHWRMPower->StartAveragePowerReporting(status, KHWRMSampleIntervalMultiple); + User::WaitForRequest(status); + + // Check if monitoring was succesfully started or already ongoing. + if ((status.Int() != KErrNone) && (status.Int() != KErrAlreadyExists)) + { + return status.Int(); + } + + return KErrNone; + } + +// --------------------------------------------------------------------------- + +void CPerfMonPowerListenerImpl::DeActivate() + { + if (iHWRMPower) + { + TRAP_IGNORE(iHWRMPower->StopAveragePowerReportingL()); } -#endif + // Restore original value to max sampling duration + TRAP_IGNORE(SetReportingPeriodL(iOriginalMaxReportingPeriod)); + + iPowerBuffer.Reset(); + iLastPowerAvg = 0; + } + +// --------------------------------------------------------------------------- + +TInt CPerfMonPowerListenerImpl::GetPower() + { + TInt avgPower = 0; + TInt newValueCount = iPowerBuffer.Count(); + + if (newValueCount > 0) + { + // Read all new values from buffer and calculate average from them. + for (int i = 0; i < newValueCount; i++) + { + avgPower += iPowerBuffer[i]; + } + avgPower = avgPower / newValueCount; + + iPowerBuffer.Reset(); + iLastPowerAvg = avgPower; + } + // Use previous value if no new data has been reported since previous call. + // This may happen since perfmon sampling and power reporting are not synchronized. + else + { + avgPower = iLastPowerAvg; + } + + return avgPower; + } + +// --------------------------------------------------------------------------- + +void CPerfMonPowerListenerImpl::PowerMeasurement(TInt aErrCode, CHWRMPower::TBatteryPowerMeasurementData& aMeasurement) + { + if (aErrCode == KErrNone) + { + // Calculate power value + TInt value = aMeasurement.iAverageVoltage * aMeasurement.iAverageCurrent; + + // If charger is connected, reported values may be negative. + if (value < 0) + { + value = 0; + } + + // Store new value to buffer to wait for reading + iPowerBuffer.Append(value); + + if ( value > iMaxPower ) + { + iMaxPower = value; + } + } + // Ignore any reports containing error information + } + +// --------------------------------------------------------------------------- + +TInt CPerfMonPowerListenerImpl::GetReportingPeriodL() + { + CRepository* cenRep = CRepository::NewL(KCRUidPowerSettings); + + CleanupStack::PushL(cenRep); + TInt reportingPeriod(0); + User::LeaveIfError(cenRep->Get(KPowerMaxReportingPeriod, reportingPeriod)); + CleanupStack::PopAndDestroy(); + + return reportingPeriod; + } + +// --------------------------------------------------------------------------- + +void CPerfMonPowerListenerImpl::SetReportingPeriodL(TInt aDuration) + { + CRepository* cenRep = CRepository::NewL(KCRUidPowerSettings); + + CleanupStack::PushL(cenRep); + User::LeaveIfError(cenRep->Set(KPowerMaxReportingPeriod, aDuration)); + CleanupStack::PopAndDestroy(); + } // End of File diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/engine/src/perfmon_powerlistener_stub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/perfapps/perfmon/engine/src/perfmon_powerlistener_stub.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +// INCLUDE FILES +#include "perfmon_powerlistener.h" + +// Power monitoring not supported. Use stub implementation. +TBool CPerfMonPowerListener::iIsSupported = EFalse; + +/* + * + * class CPerfMonPowerListener stub implementation + * + */ + +CPerfMonPowerListener* CPerfMonPowerListener::NewL() + { + CPerfMonPowerListener* self = new ( ELeave ) CPerfMonPowerListener(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } + +CPerfMonPowerListener::CPerfMonPowerListener() : + iPowerListenerImpl(NULL) + { + } + +void CPerfMonPowerListener::ConstructL() + { + } + +CPerfMonPowerListener::~CPerfMonPowerListener() + { + DeActivate(); + } + +TInt CPerfMonPowerListener::Activate() + { + return KErrNotSupported; + } + +void CPerfMonPowerListener::DeActivate() + { + } + +TInt CPerfMonPowerListener::GetPower() + { + return 0; + } + +TInt CPerfMonPowerListener::GetMaxPower() + { + return 0; + } + +// End of File diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/group/ReleaseNotes_PerfMon.txt --- a/perfapps/perfmon/group/ReleaseNotes_PerfMon.txt Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/group/ReleaseNotes_PerfMon.txt Fri Sep 17 14:22:55 2010 +0300 @@ -1,7 +1,7 @@ =============================================================================== -RELEASE NOTES - PERFORMANCE MONITOR v1.2.0 -RELEASED 26th August 2010 +RELEASE NOTES - PERFORMANCE MONITOR v1.2.1 +RELEASED 10th September 2010 SUPPORTS S60 5.2+ @@ -26,11 +26,11 @@ =============================================================================== -What's New in v1.2.0 +What's New in v1.2.1 ==================== -- SMP support -- Added power usage statistics -- Error corrections +- Feature: Power usage analysis for TB 10.1 devices +- Feature: Datapopup can be set to visible + =============================================================================== @@ -67,12 +67,18 @@ Known Issues: ============= -N/A +Datapopup can make Orbit's main menu difficult to use. Works better in landscape mode. =============================================================================== Version History: + ================ +Version 1.2.0 - 26th August 2010 +==================== +- Feature: Support for multiple CPUs in the device +- Feature: Power usage analysis in watts +- Error corrections Version 1.1.1 - 26th August 2010 ==================== diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/group/group.pro --- a/perfapps/perfmon/group/group.pro Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/group/group.pro Fri Sep 17 14:22:55 2010 +0300 @@ -18,5 +18,4 @@ TEMPLATE = subdirs BLD_INF_RULES.prj_platforms += "$${LITERAL_HASH}include \"bld_generic.inf\"" -#TODO: Functionality broken -#BLD_INF_RULES.prj_exports += "../rom/perfmon_datapopup.iby CORE_IBY_EXPORT_PATH(tools,perfmon_datapopup.iby)" \ No newline at end of file +BLD_INF_RULES.prj_exports += "../rom/perfmon_datapopup.iby CORE_IBY_EXPORT_PATH(tools,perfmon_datapopup.iby)" \ No newline at end of file diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/perfmon.pro --- a/perfapps/perfmon/perfmon.pro Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/perfmon.pro Fri Sep 17 14:22:55 2010 +0300 @@ -20,6 +20,5 @@ DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT QT_NO_DEBUG SUBDIRS = group \ - #TODO: Functionality broken - #ui/hb/datapopup \ + ui/hb/datapopup \ ui/hb/app diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/ui/avkon/group/perfmon.mmp --- a/perfapps/perfmon/ui/avkon/group/perfmon.mmp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/ui/avkon/group/perfmon.mmp Fri Sep 17 14:22:55 2010 +0300 @@ -18,6 +18,7 @@ #include #include +#include "../../../symbian_version.hrh" TARGET PerfMon.exe @@ -63,7 +64,11 @@ USERINCLUDE ../../../engine/inc SOURCEPATH ../../../engine/src SOURCE perfmon_engine.cpp +#if ( SYMBIAN_VERSION_SUPPORT >= SYMBIAN_3 ) SOURCE perfmon_powerlistener.cpp +#else +SOURCE perfmon_powerlistener_stub.cpp +#endif LIBRARY euser.lib LIBRARY commonengine.lib diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/ui/hb/app/app.pro --- a/perfapps/perfmon/ui/hb/app/app.pro Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/ui/hb/app/app.pro Fri Sep 17 14:22:55 2010 +0300 @@ -30,7 +30,7 @@ inc/valuedatacontainer.h \ inc/graphdatacontainer.h \ inc/settingsview.h \ -# inc/datapopup.h \ + inc/datapopup.h \ inc/enginewrapper.h SOURCES += src/main.cpp \ @@ -40,7 +40,7 @@ src/valuedatacontainer.cpp \ src/graphdatacontainer.cpp \ src/settingsview.cpp \ -# src/datapopup.cpp \ + src/datapopup.cpp \ src/enginewrapper.cpp RESOURCES += diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/ui/hb/app/src/main.cpp --- a/perfapps/perfmon/ui/hb/app/src/main.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/ui/hb/app/src/main.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -35,8 +35,7 @@ MainWindow window(engine); window.show(); -// TODO: functionality broken - /* + DataPopup dataPopup(engine); QObject::connect(&app, SIGNAL(foregroundEvent(bool)), @@ -44,6 +43,6 @@ // TODO: pass false if run in background dataPopup.updateVisibility(true); -*/ + return app.exec(); } diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/ui/hb/app/src/mainview.cpp --- a/perfapps/perfmon/ui/hb/app/src/mainview.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/ui/hb/app/src/mainview.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -128,7 +128,7 @@ void MainView::showAbout() { HbMessageBox *messageBox = new HbMessageBox(HbMessageBox::MessageTypeInformation); - messageBox->setText("Version 1.2.0 - 26th August 2010. Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0."); + messageBox->setText("Version 1.2.1 - 10th September 2010. Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0."); HbLabel *header = new HbLabel("About PerfMon", messageBox); messageBox->setHeadingWidget(header); messageBox->setAttribute(Qt::WA_DeleteOnClose); diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/ui/hb/datapopup/src/perfmondatapopupdialog.cpp --- a/perfapps/perfmon/ui/hb/datapopup/src/perfmondatapopupdialog.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/ui/hb/datapopup/src/perfmondatapopupdialog.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -131,8 +131,8 @@ void PerfMonDataPopupDialog::mousePressEvent(QGraphicsSceneMouseEvent *event) { - Q_UNUSED(event); - + HbDialog::mousePressEvent(event); + QVariantMap data; data["mouseEvent"] = "press"; emit deviceDialogData(data); @@ -160,6 +160,7 @@ void PerfMonDataPopupDialog::setLines(const QStringList &lines) { mWidget->setLines(lines); + setPreferredSize(mWidget->preferredWidth()+30,mWidget->preferredHeight()+30); } void PerfMonDataPopupDialog::reposition() @@ -178,4 +179,5 @@ break; } } + resize(0,0); } diff -r b048e15729d6 -r 36d60d12b4af perfapps/perfmon/ui/hb/datapopup/src/perfmondatapopupplugin.cpp --- a/perfapps/perfmon/ui/hb/datapopup/src/perfmondatapopupplugin.cpp Fri Sep 03 17:11:21 2010 +0300 +++ b/perfapps/perfmon/ui/hb/datapopup/src/perfmondatapopupplugin.cpp Fri Sep 17 14:22:55 2010 +0300 @@ -95,6 +95,7 @@ info->group = DeviceNotificationDialogGroup; //info->group = GenericDeviceDialogGroup; + //info->group = IndicatorGroup; info->flags = NoDeviceDialogFlags; info->priority = DefaultPriority;