--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/PhoneCntFinder/inc/Misc/CPhCntSingleItemFetch.h Mon Jan 18 20:18:27 2010 +0200
@@ -0,0 +1,183 @@
+/*
+* Copyright (c) 2002 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: Interface to make single item fetches.
+*
+*/
+
+
+#ifndef CPHCNTSINGLEITEMFETCH_H
+#define CPHCNTSINGLEITEMFETCH_H
+
+// INCLUDES
+#include <e32base.h>
+#include <cntdef.h>
+#include <mphcntmatch.h>
+
+class MVPbkContactLink;
+class CPhCntContactId;
+
+class CPhCntSelection : public CBase
+ {
+public:
+
+ /**
+ * @since s60 v3.2
+ * @return Number selected by user.
+ */
+ virtual const TDesC& Number() const = 0;
+
+ /**
+ * @since s60 v3.2
+ * @return Contact identifier. Identifies the contact
+ * where user selected the number.
+ */
+ virtual const CPhCntContactId& ContactId() const = 0;
+
+ };
+
+// CLASS DECLARATION
+
+/**
+* It provides interface to make phone app single item fetches.
+*
+* @lib PhoneCntFinder
+* @since 1.0
+*/
+class CPhCntSingleItemFetch
+ : public CBase
+ {
+ public: // New functions
+
+ /**
+ * It enumerates different types of fetches.
+ *
+ * EFetchDtmf - fetch from dtmf
+ * EFetchNewCall - fetch from new call query
+ * EFetchNewPSCall - fetch from new PS call query
+ */
+ enum TFetchType
+ {
+ EFetchDtmf,
+ EFetchNewCall,
+ EFetchNewPSCall
+ };
+
+ /**
+ * Phone number filtering for the FetchPhoneNumberLD implementation
+ *
+ * ECallPhoneNumber - CS
+ * ECallVoip, - PS
+ * ECallVideoNumber, - Video
+ */
+ enum TCallType
+ {
+ ECallPhoneNumber,
+ ECallVoip,
+ ECallVideoNumber
+ };
+
+ /**
+ * It defines structure for result.
+ */
+ struct TFetchParams
+ {
+ public: // In
+
+ // Fetch type.
+ TFetchType iType;
+
+ // Resource for softkeys.
+ TInt iCbaResource;
+
+ public:
+
+ // Buffer for string.
+ TDes* iString;
+
+ MPhCntMatch::TNumberType iNumberType;
+
+ CPhCntContactId* iContactId;
+ };
+
+ /**
+ * Perform fetch.
+ *
+ * Destroyes itself always after fetch. In successful case, target
+ * descriptor will contain result. Otherwise it must be considered
+ * undefined.
+ *
+ * You can also cancel request by destroying the instance.
+ *
+ * @param aParams it contains parameters.
+ * @return error code,
+ * KErrNone iff fetch succeeded,
+ * KErrCancel iff fetch was cancelled,
+ * KErrGeneral iff result was invalid,
+ * KErrOverflow iff result was too long
+ *
+ * If method returns error, then contents of aResult are undefined.
+ */
+ virtual TInt FetchLD(
+ TFetchParams& aParams ) = 0;
+
+ /**
+ * Performs a fetch.
+ *
+ * A contact link is used for fetching and as a search result
+ * a phone number is returned.
+ *
+ * Destroyes itself always after fetch. In successful case, target
+ * descriptor will contain result. Otherwise it must be considered
+ * undefined.
+ *
+ * You can also cancel request by destroying the instance.
+ *
+ * @param aContactLink Contact link.
+ * @param aCallType Number type.
+ * @param aNumber Found phone number. Needs to be NULL before the call.
+ * @param aFieldLink Field link to user selected number. Needs to be NULL, before the call.
+ * @return error code,
+ * KErrNone iff fetch succeeded,
+ * KErrCancel iff fetch was cancelled,
+ * KErrGeneral iff result was invalid,
+ * KErrOverflow iff result was too long
+ *
+ * If method returns error, then contents of aResult are undefined.
+ */
+ virtual TInt FetchPhoneNumberLD(
+ const TDesC8& aContactLink,
+ const CPhCntSingleItemFetch::TCallType aCallType,
+ HBufC*& aNumber,
+ HBufC8*& aFieldLink ) = 0;
+
+ /**
+ * Shows dialog for user to select a phone number for other
+ * purposes than making a call. The left softkey is 'Select'.
+ *
+ * Request can be canceled by deleting instance of this class.
+ *
+ * @leave System wide error code
+ *
+ * @since S60 3.2
+ * @returns The selection made by user. Ownership is transferred to
+ * caller. Note that the selection may be NULL, if user canceled the
+ * the dialog.
+ */
+ virtual CPhCntSelection* SelectPhoneNumberLD() = 0;
+
+ };
+
+#endif // CPHCNTSINGLEITEMFETCH_H
+
+// End of File