diff -r 7d48bed6ce0c -r 987c9837762f satui/satapp/src/satappaction.cpp --- a/satui/satapp/src/satappaction.cpp Tue Aug 31 15:45:17 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,206 +0,0 @@ -/* -* Copyright (c) 2010 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 -#include -#include -#include -#include - -#include "satappaction.h" - -// ---------------------------------------------------------------------------- -// global des2str -// trasmit from symbian descripter to QString -// ---------------------------------------------------------------------------- -// -QString des2str(const TDesC& desc) -{ - return QString::fromUtf16(desc.Ptr(), desc.Length()); -} - -// ======== MEMBER FUNCTIONS ================================================== - -// ---------------------------------------------------------------------------- -// SatAppAction::SatAppAction -// ---------------------------------------------------------------------------- -// -SatAppAction::SatAppAction(int action, QObject *parent) -: QObject(parent) -{ - qDebug("SATAPP: SatAppAction::SatAppAction"); - mAction = action; - mResponse = ESatNoResponseFromUser; - mState = Active; - - //monitor application - SAT_ASSERT(connect( - qApp,SIGNAL(aboutToQuit()), - this,SLOT(completeWithSessionTerminated()))); -} - -// ---------------------------------------------------------------------------- -// SatAppAction::~SatAppAction -// ---------------------------------------------------------------------------- -// -SatAppAction::~SatAppAction() -{ - if (mState==Waiting) - complete(); // release waiting thread -} - -// ---------------------------------------------------------------------------- -// SatAppAction::waitUntilCompleted -// sync method that returns when this action is completed -// ---------------------------------------------------------------------------- -// -void SatAppAction::waitUntilCompleted() -{ - qDebug("SATAPP: SatAppAction::waitUntilCompleted"); - if (mState==Completed) return; // no need to wait! - QEventLoop loop; - SAT_ASSERT(connect( - this,SIGNAL(actionCompleted(SatAppAction*)), - &loop,SLOT(quit()))); - mState=Waiting; - qDebug("SATAPP: waitUntilCompleted: waiting..."); - loop.exec(); - // When use the FSW complete the satapp, the signal aboutToExit - // can not be recieved. temp solution - if(Waiting == mState){ - mState=Completed; - mResponse=ESatSessionTerminatedByUser; - } - qDebug("SATAPP: waitUntilCompleted: ...released"); -} - -// ---------------------------------------------------------------------------- -// SatAppAction::complete -// completes the action -// ---------------------------------------------------------------------------- -// -void SatAppAction::complete(TSatUiResponse resp) -{ - qDebug("SATAPP: SatAppAction::complete resp= %x in", resp); - if (mState!=Completed) { - qDebug("SATAPP: SatAppAction::completed"); - setResponse(resp); - mState = Completed; - emit actionCompleted(this); - } - qDebug("SATAPP: SatAppAction::complete resp= %x out", resp); -} - -// ---------------------------------------------------------------------------- -// SatAppAction::set -// setter for QVariant -// ---------------------------------------------------------------------------- -// -void SatAppAction::set(const QString& key, QVariant value) -{ - qDebug() << "SATAPP: SatAppAction::set(" << - key << "=" << value << ")"; - mParams[key] = value; -} - -// ---------------------------------------------------------------------------- -// SatAppAction::set -// setter for Symbian Descripter -// ---------------------------------------------------------------------------- -// -void SatAppAction::set(const QString& key, const TDesC& value) -{ - set(key,des2str(value)); -} - -// ---------------------------------------------------------------------------- -// SatAppAction::set -// setter for Symbian MDesCArray - Menu list -// ---------------------------------------------------------------------------- -// -void SatAppAction::set(const QString& key, const MDesCArray& value) -{ - QList list; - for(int i=0; i - mene icon -// ---------------------------------------------------------------------------- -// -void SatAppAction::set(const QString& key, CArrayFixFlat& value) -{ - QList list; - for(int i=0; imillisec - set(key,value_millisec); -} - -// ---------------------------------------------------------------------------- -// SatAppAction::set -// setter for TTimeIntervalMicroSeconds - duration -// ---------------------------------------------------------------------------- -// -void SatAppAction::set(const QString& key, TTimeIntervalMicroSeconds& value) -{ - int value_millisec = value.Int64() / 1000; // microsec->millisec - set(key,value_millisec); -} - -// ---------------------------------------------------------------------------- -// SatAppAction::value -// getter by key -// ---------------------------------------------------------------------------- -// -QVariant SatAppAction::value(const QString& key) -{ - if (!mParams.contains(key)) - { - // lazy-fetch params implementation goes here. - // for instance if Icon is requested, request for the icons here. - // however at this moment, all parameters should be present. - qFatal("SATAPP: SatAppAction::value - param missing: %s", - key.toLatin1().data()); - } - return mParams[key]; -} - -// ---------------------------------------------------------------------------- -// SatAppAction::hasValue -// ---------------------------------------------------------------------------- -// -bool SatAppAction::hasValue(const QString& key) -{ - return mParams.contains(key); -} - -//End of file