diff -r 000000000000 -r 5f000ab63145 phoneengine/PhoneCntFinder/ContactService/inc/tphcntaiwserviceobserver.h --- /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 + +#include + +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