--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookui/Phonebook2/UIControls/inc/MPbk2FieldAnalyzer.h Wed Sep 01 12:29:52 2010 +0100
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2002-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:
+* Interface to be used by field listbox model for analyzing
+* contact field instances.
+*
+*/
+
+
+#ifndef MPBK2FIELDANALYZER_H
+#define MPBK2FIELDANALYZER_H
+
+// FORWARD DECLARATIONS
+class MVPbkStoreContactField;
+class CPbk2PresentationContactField;
+class MVPbkBaseContactFieldCollection;
+
+// CLASS DECLARATION
+
+/**
+ * @internal Only Phonebook 2 internal use supported!
+ */
+class MPbk2FieldAnalyzer
+ {
+
+ public: // Enumeration used for the voip support flag
+ enum TVoIPSupport
+ {
+ EVoIPSupportSip = 1,
+ EVoIPSupportBasic = 2,
+ EVoIPSupportXspId = 4,
+ EVoIPSupportCallout = 8
+ };
+
+ public: // Interface
+ /**
+ * Analyses if the field has a speed dial definition.
+ *
+ * @param aField The field to analyze.
+ * @return ETrue if field has speed dial definition, otherwise EFalse.
+ */
+ virtual TBool HasSpeedDialL(
+ const MVPbkStoreContactField& aField ) const = 0;
+
+ /**
+ * Analyses if the field has a voice tag.
+ *
+ * @param aField The field to analyze.
+ * @return ETrue if field has voice tag definition, otherwise EFalse.
+ */
+ virtual TBool HasVoiceTagL(
+ const MVPbkStoreContactField& aField ) const = 0;
+
+ /**
+ * Analyses is the field hidden, ie. should it not be shown in UI.
+ *
+ * @param aField The field to analyze.
+ * @return ETrue if field is hidden, EFalse otherwise.
+ */
+ virtual TBool IsHiddenField(
+ const CPbk2PresentationContactField& aField ) const = 0;
+ /**
+ * Analyses the installed voip capabilities in comparison to
+ * the details stored in a contact.
+ *
+ * @param aFields The fields from a contact to be analysed
+ * @return TInt containing MPbk2FieldAnalyzer::TVoIPSupport flags.
+ */
+ virtual const TInt VoipSupportL(
+ const MVPbkBaseContactFieldCollection& aFields ) const = 0;
+ /**
+ * Analyses whether a specific field can be supported by the voip
+ * capabilities installed. This function is used hand in hand with
+ * VoipSupportL()
+ *
+ * @param aVpbkFieldResId The field's FieldTypeResId from contact
+ * details of a contact to be analysed.
+ * @param aVoipFlag Voip capabilities available.
+ * @return ETrue if the field has voip support installed in the phone.
+ */
+ virtual TBool IsFieldVoipCapable(
+ TInt aVpbkFieldResId, const TInt aVoipFlag ) const = 0;
+
+
+ };
+
+#endif // MPBK2FIELDANALYZER_H
+
+// End of File