diff -r 41a7f70b3818 -r 5266b1f337bd phoneengine/PhoneCntFinder/ContactService/inc/cphcntspeeddialimpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/cphcntspeeddialimpl.h Wed Sep 01 12:30:10 2010 +0100 @@ -0,0 +1,182 @@ +/* +* Copyright (c) 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: Definition of CPhCntSpeedDialImpl class. +* +*/ + + +#ifndef CPHCNTSPEEDDIALIMPL_H +#define CPHCNTSPEEDDIALIMPL_H + +#include +#include "CPhCntSpeedDialMonitor.h" + +class CSpdiaDialogs; +class MPhCntContactManager; +class CPhCntSpeedDialContactLinkFetch; +class CPhCntFetchContact; +class CPhCntContactStores; +class CPhCntContact; +class CPhCntSpeedDialMonitor; +class MPhoneCntPbkOwner; +class CEikStatusPane; + +/** + * ?one_line_short_description + * + * ?more_complete_description + * + * @lib ?library + * @since S60 ?S60_version *** for example, S60 v3.0 + */ +NONSHARABLE_CLASS( CPhCntSpeedDialImpl ) + : public CPhCntSpeedDialMonitor + { + public: + + static CPhCntSpeedDialImpl* NewL( MPhoneCntPbkOwner& aPbkOwner ); + + static CPhCntSpeedDialImpl* NewLC( MPhoneCntPbkOwner& aPbkOwner ); + + virtual ~CPhCntSpeedDialImpl(); + + public: // from base class CPhCntSpeedDialMonitor + + /** + * From base class CPhCntSpeedDialMonitor + * @since S60 v3.2 + * @see CPhCntSpeedDialMonitor + */ + void GetSpeedDialFieldInfoL( TInt aSpeedDialPosition, + TSpdDialFieldInfo& aFieldInfo ); + + /** + * From base class CPhCntSpeedDialMonitor + * @since S60 v3.2 + * @see CPhCntSpeedDialMonitor + */ + TInt GetSpeedDialFieldL( + TInt aSpeedDialPosition, + TDes& aPhoneNumber ); + + /** + * From base class CPhCntSpeedDialMonitor + * @since S60 v3.2 + * @see CPhCntSpeedDialMonitor + */ + TInt GetSpeedDialFieldL( + TInt aSpeedDialPosition, + TDes& aPhoneNumber, + TSpdDialFieldInfo& aFieldInfo ); + + + /** + * From base class CPhCntSpeedDialMonitor + * @since S60 v3.2 + * @see CPhCntSpeedDialMonitor + */ + TInt AssignSpeedDialFieldL( + TInt aSpeedDialPosition, + TDes& aPhoneNumber ); + + /** + * From base class CPhCntSpeedDialMonitor + * @since S60 v3.2 + * @see CPhCntSpeedDialMonitor + */ + TInt AssignSpeedDialFieldL( + TInt aSpeedDialPosition, + TDes& aPhoneNumber, + TSpdDialFieldInfo& aFieldInfo ); + + /** + * From base class CPhCntSpeedDialMonitor + * @since S60 v3.2 + * @see CPhCntSpeedDialMonitor + */ + virtual void Cancel(); + + /** + * From base class CPhCntSpeedDialMonitor + * @since S60 v3.2 + * @see CPhCntSpeedDialMonitor + */ + virtual CEikImage* CreateNumberTypeIconLC( TInt aNumberType ); + + private: + + CPhCntSpeedDialImpl( MPhoneCntPbkOwner& aPbkOwner ); + + void ConstructL(); + + TInt FetchNumberL( TInt aSpeedDialPosition, TDes& aPhoneNumber ); + + TInt FetchContact( TInt aSpeedDialPosition, CPhCntContact*& aContact ); + + void CopyNumberL( TDes& aAppendTo, const TDesC& aNumber ); + + void ParseNumber( TDes& aNumber ); + + /** + * Setups the field info with new attributes. + * @param aContact Contact information + * @param aSpeedDialPosition A speed dial position. + * @param aFieldInfo Speed dial contact information. + */ + void CopyContactInfoToFieldInfoL( + CPhCntContact& aContact, + TInt aSpeedDialPosition, + TSpdDialFieldInfo& aFieldInfo ); + + private: // data + + /** + * Contact manager for accessing virtual phonebook services. + * Not own. + */ + MPhCntContactManager& iContactManager; + + /** + * Phonebook owner + * Own. + */ + MPhoneCntPbkOwner& iPbkOwner; + + /** + * Fetches speed dial contact link. + * Own. + */ + CPhCntSpeedDialContactLinkFetch* iSpeedDialContactLinkFetcher; + + /** + * Fetches speed dial contact using speed dial contact link. + * Own. + */ + CPhCntFetchContact* iContactFetcher; + + /** + * Service for contact fetching. + * Own. + */ + CPhCntContactStores* iContactStores; + + /** + * Speed Dial Dialogs. + * Own. + */ + CSpdiaDialogs* iSpdDial; + }; + + +#endif // CPHCNTSPEEDDIALIMPL_H