diff -r c4687ff85147 -r 6757f1e2efd2 deviceupdatesui/deviceupdatesplugin/src/deviceupdatesdata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deviceupdatesui/deviceupdatesplugin/src/deviceupdatesdata.cpp Tue Aug 31 15:05:55 2010 +0300 @@ -0,0 +1,105 @@ +/* +* 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: Device updates data for control panel +* +*/ + +#include +#include +#include +#include +#include +#include "deviceupdatesdata.h" + + +DeviceUpdateData::DeviceUpdateData(CpItemDataHelper &itemDataHelper, + const QString &text /*= QString()*/, + const QString &description /*= QString()*/, + const HbIcon &icon /*= HbIcon()*/, + const HbDataFormModelItem *parent /*= 0*/) + : CpSettingFormEntryItemData(itemDataHelper, + text, + description, + icon, + parent) +{ + mproc = NULL; +} + +DeviceUpdateData::~DeviceUpdateData() +{ + CloseDeviceUpdatesUi(); + if (mproc) + { + delete mproc; + mproc = NULL; + } +} + +// ----------------------------------------------------------------------------- +// DeviceUpdateData::OpenDmAppL() +// ----------------------------------------------------------------------------- +// +void DeviceUpdateData::LaunchDeviceUpdatesUi() + { + + RWsSession ws; + User::LeaveIfError( ws.Connect() ); + CleanupClosePushL( ws ); + // Find the task with uid + TApaTaskList taskList(ws); + TApaTask task = taskList.FindApp( KUidSmlSyncApp ); + if ( task.Exists() ) + { + task.BringToForeground(); + } + else + { + // Create DM UI Process + if(!mproc) + mproc = new QProcess(); + if(mproc->state() != QProcess::Running) + { + QString app = QLatin1String("deviceupdates"); + QStringList args; + args<< QLatin1String("-cp"); + mproc->start(app, args); + mproc->waitForStarted(); + } + } + CleanupStack::PopAndDestroy(); // ws + } + +// --------------------------------------------------------------------------------------------- +// DeviceUpdateData::CloseDmUi +// closes DM Ui +// --------------------------------------------------------------------------------------------- +void DeviceUpdateData:: CloseDeviceUpdatesUi() +{ + if(( mproc )&&(mproc->state() == QProcess::Running)) + { + mproc->close(); + } + +} + +void DeviceUpdateData::onLaunchView() +{ + LaunchDeviceUpdatesUi(); +} + +CpBaseSettingView *DeviceUpdateData::createSettingView() const +{ + return 0; +}