diff -r 000000000000 -r 5f000ab63145 phoneengine/PhoneCntFinder/ContactService/inc/cphcntfetchcontact.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/cphcntfetchcontact.h Mon Jan 18 20:18:27 2010 +0200 @@ -0,0 +1,124 @@ +/* +* 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 CPhCntFetchContact class. +* +*/ + + +#ifndef CPHCNTFETCHCONTACT_H +#define CPHCNTFETCHCONTACT_H + +#include + +#include "cphcntasynctosync.h" +#include "MPhCntContactFetchObserver.h" + +class MPhCntContactStores; +class MVPbkContactLink; +class MVPbkStoreContact; + +/** + * ?one_line_short_description + * + * ?more_complete_description + * + * @lib ?library + * @since S60 ?S60_version *** for example, S60 v3.0 + */ +NONSHARABLE_CLASS( CPhCntFetchContact ) : + public CPhCntAsyncToSync, + public MPhCntContactFetchObserver + { +public: + static CPhCntFetchContact* NewL( MPhCntContactStores& aContactStores ); + + static CPhCntFetchContact* NewLC( MPhCntContactStores& aContactStores ); + + virtual ~CPhCntFetchContact(); + + /** + * Fetches contact, which aContactLink identifies. + * + * @since S60 ?S60_version + * @param ?arg1 ?description + * @param ?arg2 ?description + * @return ?description + */ + TInt FetchContact( + const MVPbkContactLink& aContactLink, + CPhCntContact*& aContact ); + + /** + * Fetches first contact from array of contact links. + * + * @since S60 v3.2 + * @param aContactLinkArray Contact link array as descriptor. + * @param aContact Result of the fetch. + * @return Error code. + */ + TInt FetchContact( + const TDesC8& aContactLinkArray, + CPhCntContact*& aContact ); + +// from base class CPhCntAsyncToSync + + /** + * From CPhCntAsyncToSync + * ?description + * + * @since S60 ?S60_version + * @param ?arg1 ?description + */ + void DoMakeAsyncRequestL(); + +// from base class MPhCntContactFetchObserver + + /** + * From MPhCntContactFetchObserver + * ?description + * + * @since S60 ?S60_version + * @param ?arg1 ?description + */ + void ContactReceived( CPhCntContact* aContact, TInt aError ); + +private: + + CPhCntFetchContact( MPhCntContactStores& aContactStores ); + + void ConstructL(); + +private: // data + + /** + * Contact stores, where contact is fetched. + * Not own. + */ + MPhCntContactStores& iContactStores; + + /** + * Received contact. + * Not own. + */ + CPhCntContact* iReceivedContact; + + /** + * Link to the contact to be fetched. + * Not own. + */ + const MVPbkContactLink* iContactLink; + + }; + +#endif // CPHCNTFETCHCONTACT_H