diff -r 000000000000 -r ba25891c3a9e appinstaller/AppinstUi/Daemon/Src/programstatus.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/appinstaller/AppinstUi/Daemon/Src/programstatus.cpp Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,140 @@ +/* +* Copyright (c) 2004 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 "programstatus.h" +#include "SWInstDebug.h" + +namespace Swi + { + // ----------------------------------------------------------------------- + // Two-phased constructor + // ----------------------------------------------------------------------- + // + CProgramStatus* CProgramStatus::NewL( TInt aProcessStatus ) + { + CProgramStatus* self = NewLC( aProcessStatus ); + CleanupStack::Pop( self ); + return self; + } + + + // ----------------------------------------------------------------------- + // Two-phased constructor + // ----------------------------------------------------------------------- + // + CProgramStatus* CProgramStatus::NewLC( TInt aProcessStatus ) + { + CProgramStatus* self = new (ELeave) CProgramStatus; + CleanupStack::PushL( self ); + self->ConstructL( aProcessStatus ); + return self; + } + + + // ----------------------------------------------------------------------- + // 2nd phase constructor + // ----------------------------------------------------------------------- + // + void CProgramStatus::ConstructL( TInt aProcessStatus ) + { + iGeneralProcessStatus = aProcessStatus; + // Define PS keys for UI. + DefinePSKeyForUI(); + } + + + // ----------------------------------------------------------------------- + // C++ destructor + // ----------------------------------------------------------------------- + // + CProgramStatus::~CProgramStatus() + { + } + + + // ----------------------------------------------------------------------- + // Set program status. + // ----------------------------------------------------------------------- + // + void CProgramStatus::SetProgramStatus( TInt aProcessStatus ) + { + iGeneralProcessStatus = aProcessStatus; + } + + + // ----------------------------------------------------------------------- + // Get program status. + // ----------------------------------------------------------------------- + // + TInt CProgramStatus::GetProgramStatus() + { + return iGeneralProcessStatus; + } + + + // ----------------------------------------------------------------------- + // Set program status to idle. + // ----------------------------------------------------------------------- + // + void CProgramStatus::SetProgramStatusToIdle() + { + iGeneralProcessStatus = EStateIdle; + } + + // ----------------------------------------------------------------------- + // Define PS key for UI and set the key value. + // ----------------------------------------------------------------------- + // + void CProgramStatus::DefinePSKeyForUI() + { + _LIT_SECURITY_POLICY_C1( KReadProtection, ECapability_None ); + _LIT_SECURITY_POLICY_C1( KWriteProtection, ECapabilityWriteDeviceData ); + + // Define the property. + TInt err = RProperty::Define( + KPSUidSWInstallerUiNotification, + KSWInstallerDisableDaemonNotes, + RProperty::EInt, + KReadProtection, + KWriteProtection ); + + FLOG_1( _L("[CProgramStatus] RProperty::Define error = %d "), err ); + + // If key is not set when Daemon starts, set value. + if ( err == KErrNone ) + { + // Key can be set to False at this point. Correct PS key will + // be read in AO's RunL. + TInt keyValue = EFalse; + + err = RProperty::Set( + KPSUidSWInstallerUiNotification, + KSWInstallerDisableDaemonNotes, + keyValue ); + + FLOG_1( _L("[CProgramStatus] RProperty::Set error = %d "), err ); + } + } + + } // namespace + +//EOF +