fep/frontendprocessor/source/FEPBPRIV.CPP
changeset 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fep/frontendprocessor/source/FEPBPRIV.CPP	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,89 @@
+// Copyright (c) 1997-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 "FEPBPRIV.H"
+#include <fepbconfig.h>
+#include <fepbpanic.h>
+#include <centralrepository.h>
+
+
+#ifdef _DEBUG
+LOCAL_C void Panic(TFepBasePanic aPanic)
+	{
+	User::Panic(KLitFepBasePanicText, aPanic);
+	}
+#endif
+
+//
+// CFepSettingsTracker
+//
+
+CFepSettingsTracker* CFepSettingsTracker::NewL(CCoeEnv& aConeEnvironment, MFepAttributeStorer& aFepAttributeStorer)
+	{ // static
+	CFepSettingsTracker* const self=new(ELeave) CFepSettingsTracker(aConeEnvironment, aFepAttributeStorer);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+CFepSettingsTracker::~CFepSettingsTracker()
+	{
+	Cancel();
+	delete iRepository;
+	}
+
+CFepSettingsTracker::CFepSettingsTracker(CCoeEnv& aConeEnvironment, MFepAttributeStorer& aFepAttributeStorer)
+	:CActive(EActivePriorityWsEvents+25),
+	 iConeEnvironment(aConeEnvironment),
+	 iFepAttributeStorer(aFepAttributeStorer)
+	{
+	CActiveScheduler::Add(this);
+	}
+
+void CFepSettingsTracker::ConstructL()
+	{
+	iRepository=CRepository::NewL(TUid::Uid(KUidFepSpecificSettingsRepository));
+	Queue();
+	// we don't call ReadAllAttributesL here - the CCoeFep-derived class has the responsibility to call this when it has been fully constructed; this obligation is documented
+	}
+
+void CFepSettingsTracker::Queue()
+	{
+#if defined(_DEBUG)
+	const TInt error=
+#endif
+	iRepository->NotifyRequest(0, 0, iStatus);
+	__ASSERT_DEBUG(error==KErrNone, Panic(EPanicUnexpectedError1));
+	SetActive();
+	}
+
+void CFepSettingsTracker::DoCancel()
+	{
+	iRepository->NotifyCancel(0, 0);
+	}
+
+void CFepSettingsTracker::RunL()
+	{
+	const TInt error=iStatus.Int();
+	Queue();
+	User::LeaveIfError(error);
+	iFepAttributeStorer.ReadAllAttributesL(iConeEnvironment);
+	}
+
+
+
+
+