diff -r 000000000000 -r 5f000ab63145 phoneengine/PhoneCntFinder/ContactService/inc/cphcntphonebookservices.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/cphcntphonebookservices.h Mon Jan 18 20:18:27 2010 +0200 @@ -0,0 +1,235 @@ +/* +* Copyright (c) 2006 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: Phonebook services wrapper. +* +*/ + + +#ifndef CPHCNTPHONEBOOKSERVICES_H +#define CPHCNTPHONEBOOKSERVICES_H + +#include + +#include "MPhCntPhonebookServices.h" + +class MPhCntService; +class MPhCntContactStores; +class CPhCntFetchContact; +class CPhCntContactId; +class MPhCntContactManager; +class MPhCntServiceRequestParam; +class CPhCntContact; +class MVPbkContactLinkArray; +class CPhCntServiceRequestParamFactory; + +/** + * Phonebook services. + * + * @lib PhoneCntFinder.lib + * @since S60 v3.2 + */ +NONSHARABLE_CLASS( CPhCntPhonebookServices ) + : public CBase, + public MPhCntPhonebookServices + { +public: + + /** + * Static constructor. + * + * @since S60 v3.2 + * @param aContactStores Reference of contact stores. + * @param aContactManager Reference to contact manager. + */ + static CPhCntPhonebookServices* NewL( + MPhCntContactStores& aContactStores, + MPhCntContactManager& aContactManager ); + + /** + * Destructor. + * + * @since S60 v3.2 + */ + virtual ~CPhCntPhonebookServices(); + +// From base class MPhCntPhonebookServices + + /** + * From MPhCntPhonebookServices + * + * @since S60 v3.2 + * @see MPhCntPhonebookServices + */ + void GetUserSelectedPhoneNumberL( + CPhCntContactId*& aContactId, + HBufC*& aPhoneNumber ); + + /** + * From MPhCntPhonebookServices + * + * @since S60 v3.2 + * @see MPhCntPhonebookServices + */ + void GetUserSelectedVoIPAddressL( + CPhCntContactId*& aContactId, + HBufC*& aVoIPAddress ); + + /** + * From MPhCntPhonebookServices + * + * @since S60 v3.2 + * @see MPhCntPhonebookServices + */ + void GetUserSelectedDtmfNumberL( + CPhCntContactId*& aContactId, + HBufC*& aDtmfNumber ); + + /** + * From MPhCntPhonebookServices + * + * @since S60 v3.2 + * @see MPhCntPhonebookServices + */ + void CreateNewContactL( const TDesC& aPhoneNumber ); + + /** + * From MPhCntPhonebookServices + * + * @since S60 v3.2 + * @see MPhCntPhonebookServices + */ + void UpdateExistingContactL( const TDesC& aPhoneNumber ); + + /** + * From MPhCntPhonebookServices + * + * @since S60 v3.2 + * @see MPhCntPhonebookServices + */ + void CPhCntPhonebookServices::GetPhoneNumberL( + const TDesC8& aContactLink, + const CPhCntSingleItemFetch::TCallType aCallType, + HBufC*& aNumber, + HBufC8*& aFieldLink ); + + /** + * From MPhCntPhonebookServices + * + * @since S60 v3.2 + * @see MPhCntPhonebookServices + */ + CPhCntContact* GetUserSelectedContactLC( + MPhCntServiceRequestParam& aParam ); + + /** + * From MPhCntPhonebookServices + * + * @since S60 v3.2 + * @see MPhCntPhonebookServices + */ + void CancelRequest(); + +protected: + + CPhCntPhonebookServices( MPhCntContactManager& aContactManager ); + + void ConstructL( + MPhCntContactStores& aContactStores ); + +private: + + /** + * Gets link to a contact, that user selects. + * + * @since S60 v3.2 + * @param aParam Service request parameters. + * @return Array of contact links. + */ + HBufC8* GetContactLinksLC( + MPhCntServiceRequestParam& aParam ); + + + /** + * Sets result to client. + * + * @since S60 v3.2 + * @param aReceivedNumber Received number. + * @param aReceivedContactId Received contact id. + * @param aClientResultNumber Number given to client. + * @param aClientResultContactId Id given to client. + */ + void SetResultsL( + const TDesC& aReceivedNumber, + const CPhCntContactId* const aReceivedContactId, + HBufC*& aClinetResultNumber, + CPhCntContactId*& aClientResultContactId ) const; + + /** + * Gets user selected number from phonebook. + * + * @param aContactId Contact id of the contact where the number is got. + * @param aNumber Number user selected. + * @param aDTMFWanted ETrue - User is selecting DTMF or phone number. + * EFalse - User is selecting phone number. + */ + void GetUserSelectedNumberL( + CPhCntContactId*& aContactId, + HBufC*& aNumber, TBool aDTMFWanted ); + + /** + * Creates CPhCntService if needed. + * + * @since S60 v3.2 + */ + void CreateCntServiceL(); + + /** + * Gets user selected voip address from phonebook. + * + * @param aContactId Contact id of the contact where the number is got. + * @param aVoIPAddress Address user selected. + */ + void GetUserSelectedAddressL( + CPhCntContactId*& aContactId, + HBufC*& aVoIPAddress ); + +protected: // data + + /** + * AIW service wrapper. + * Own. + */ + MPhCntService* iService; + + /** + * For fetching contact from phonebook. + * Own. + */ + CPhCntFetchContact* iFetchContact; + + /** + * Contact manager. + * Not own. + */ + MPhCntContactManager& iContactManager; + + /** + * Factory to create params. + * Own. + */ + CPhCntServiceRequestParamFactory* iParamFactory; + + }; + +#endif // CPHCNTPHONEBOOKSERVICES_H