--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/PhoneCntFinder/ContactService/inc/tphcntaiwserviceobserver.h Mon Jan 18 20:18:27 2010 +0200
@@ -0,0 +1,158 @@
+/*
+* Copyright (c) 2007-2007 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: Observer for Phonebook AIW services.
+*
+*/
+
+
+#ifndef TPHCNTAIWSERVICEOBSERVER_H
+#define TPHCNTAIWSERVICEOBSERVER_H
+
+#include <e32std.h>
+
+#include <AiwCommon.h>
+
+class MPhCntServiceResult;
+class MPhCntAiwServiceCompleteObserver;
+class MPhCntServiceRequestParam;
+
+/**
+ * Callback to indicate when phonebook's AIW service request
+ * is complete.
+ *
+ * @lib PhoneCngFinder.lib
+ * @since S60 3.2
+ */
+NONSHARABLE_CLASS( MPhCntAiwServiceCompleteObserver )
+ {
+public:
+
+ /**
+ * Called when Phonebook's AIW service request is complete.
+ * @param aError Error code.
+ */
+ virtual void ServiceRequestComplete( TInt aError ) = 0;
+
+ };
+
+/**
+ * Observes Phonebook AIW services.
+ *
+ * @lib PhoneCntFinder.lib
+ * @since S60 3.2
+ */
+NONSHARABLE_CLASS( TPhCntAiwServiceObserver ) : public MAiwNotifyCallback
+ {
+public:
+
+ /**
+ * Constructor.
+ * @param aObserver Callback to indicate when Phonebook's AIW service
+ * request is complete.
+ */
+ TPhCntAiwServiceObserver(MPhCntAiwServiceCompleteObserver& aObserver);
+
+ /**
+ * Activates observing. When Phonebook AIW service request is complete,
+ * aResult will be notfied that request is done and
+ * MPhCntAiwServiceCompleteObserver is notified.
+ *
+ * @param aParams The requests parameters that this class is set to
+ * observ.
+ * @aResult Result handler.
+ */
+ void SetRequestAndResult(
+ MPhCntServiceRequestParam* aParams,
+ MPhCntServiceResult* aResult
+ );
+
+// from base class MAiwNotifyCallback
+
+ /**
+ * From MAiwNotifyCallback
+ *
+ * @since S60 v3.1
+ * @see MAiwNotifyCallback
+ */
+ TInt HandleNotifyL(
+ TInt aCmdId,
+ TInt aEventId,
+ CAiwGenericParamList& aEventParamList,
+ const CAiwGenericParamList& aInParamList);
+
+private:
+
+ /**
+ * Parses error value from paramlist when KAiwEventError comes
+ * from service provider.
+ *
+ * @since S60 v3.1
+ * @parma aEventParamList Event parameters.
+ */
+ TInt ParseErrorCode( const CAiwGenericParamList& aEventParamList );
+
+ /**
+ * Finds first TInt value from param list.
+ *
+ * @since S60 v3.1
+ * @Returns KErrNotFound if paramter with aParameterId not found.
+ */
+ TInt FindFirstTInt32Value(
+ const CAiwGenericParamList& aEventParamList,
+ TGenericParamId aParameterId,
+ TInt& aValue ) const;
+
+ /**
+ * Indication that response for request has arrived.
+ * @param aError Possible error code.
+ */
+ void ResponseReceived( TInt aError );
+
+ /**
+ * Checks if current process is Phone application process.
+ * @since S60 v3.1
+ * @return ETrue - Running in phone app process.
+ */
+ TBool RunningInPhoneAppProcess() const;
+
+private:
+
+ /**
+ * Result of the request.
+ * Now own.
+ */
+ MPhCntServiceResult* iResult;
+
+ /**
+ * Request params.
+ * Not own.
+ */
+ MPhCntServiceRequestParam* iParams;
+
+ /**
+ * Service request observer.
+ * Not own.
+ */
+ MPhCntAiwServiceCompleteObserver& iObserver;
+
+ /**
+ * State variable indicating that AIW service is shutting down, because
+ * user has pressed end key.
+ */
+ TBool iAiwServiceShuttingDown;
+
+ };
+
+
+#endif // TPHCNTAIWSERVICEOBSERVER_H