diff -r 000000000000 -r 4e1aa6a622a0 sysstatemgmt/systemstatereferenceplugins/custcmd/src/cmdclearstartupreason.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatereferenceplugins/custcmd/src/cmdclearstartupreason.cpp Tue Feb 02 00:53:00 2010 +0200 @@ -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: +// + +/** + @file + @internalComponent + @released +*/ +#include "cmdclearstartupreason.h" +#include "ssmdebug.h" +#include +#include + +CCustomCmdClearStartupReason* CCustomCmdClearStartupReason::NewL() + { + return new (ELeave) CCustomCmdClearStartupReason(); + } + +CCustomCmdClearStartupReason::~CCustomCmdClearStartupReason() + { + delete iRepository; + } + +CCustomCmdClearStartupReason::CCustomCmdClearStartupReason() + { + } + +TInt CCustomCmdClearStartupReason::Initialize(CSsmCustomCommandEnv* /*aCmdEnv*/) + { + // Connect to the central repository + TRAPD(err, iRepository = CRepository::NewL(KCRUidStartup)); + return err; + } + +void CCustomCmdClearStartupReason::Execute(const TDesC8& /*aParams*/, TRequestStatus& aRequest) + { + aRequest = KRequestPending; + const TInt err = iRepository->Set(KStartupReason, ENormalStartup); + if(KErrNone != err) + { + DEBUGPRINT2A("Setting KStartupReason CenRep key failed with error %d", err); + } + + TRequestStatus* request = &aRequest; + User::RequestComplete(request, err); + } + +void CCustomCmdClearStartupReason::ExecuteCancel() + { + //Nothing to cancel + } + +void CCustomCmdClearStartupReason::Close() + { + } + +void CCustomCmdClearStartupReason::Release() + { + delete this; + }