--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/buildverification/smoketest/Timew/Src/SM_RSP.CPP Tue Jan 26 15:16:33 2010 +0200
@@ -0,0 +1,91 @@
+// 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 "sm_std.h"
+#include "almmod.h"
+
+//
+// class CModelResponder
+//
+
+CModelResponder::CModelResponder(CModelBase& aModel,TInt aPriority)
+//
+// Base class constructor
+//
+ : CActive(aPriority), iModel(&aModel)
+ {
+ }
+
+void CModelResponder::NotifyModel(TInt aStatus)
+//
+// Funnel all response to the engine
+//
+ {
+ iModel->ProcessResponder(aStatus);
+ }
+
+void CModelResponder::RunL()
+//
+// Handle changes in the servers
+//
+ {
+// Reset the status request before notifiying the view
+// so that it can catch anything untoward that the view does
+ TInt v=iStatus.Int();
+ Start();
+ NotifyModel(v);
+ }
+
+void CModelResponder::Start()
+//
+// Start the response
+//
+ {
+ if (!IsActive())
+ {
+ SetActive();
+ DoStart();
+ }
+ }
+
+//
+// class CAlmResponder
+//
+
+CAlmResponder::CAlmResponder(RASCliSession& aSvr,CAlmModel& aModel,TInt aResponderPriority)
+//
+// Protected constructor
+//
+ : CModelResponder(aModel,aResponderPriority),iAlmSvr(&aSvr)
+ {
+ }
+
+void CAlmResponder::DoStart()
+//
+// Start a repsonse
+//
+ {
+ iAlmSvr->NotifyChange(iStatus, iAlarmId);
+ }
+
+void CAlmResponder::DoCancel()
+//
+// Stop the response
+//
+ {
+ if (iStatus == KRequestPending)
+ iAlmSvr->NotifyChangeCancel();
+ }
+