epoc32/include/app/mpbkfielddata.h
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
--- a/epoc32/include/app/mpbkfielddata.h	Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/app/mpbkfielddata.h	Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,104 @@
-mpbkfielddata.h
+/*
+* 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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*       Interface classes for accessing Phonebook contact data.
+*
+*/
+
+
+#ifndef __MPbkFieldData_H__
+#define __MPbkFieldData_H__
+
+//  INCLUDES
+#include <cntdef.h>         // TStorageType
+#include "PbkFields.hrh"    // TPbkFieldId
+
+// FORWARD DECLARATIONS
+class MPbkFieldData;
+
+// CLASS DECLARATION
+
+/**
+ * Array of MPbkFieldData objects.
+ */
+class MPbkFieldDataArray
+    {
+    public:  // Destructor
+        virtual ~MPbkFieldDataArray() {}
+
+    public:  // Abstract interface
+        /**
+         * Returns the number of field data objects in this array.
+         * @return The number of field data objects in this array.
+         */
+        virtual TInt PbkFieldCount() const = 0;
+
+        /**
+         * Returns the field data object at aIndex.
+         * @param aIndex    The field to index.
+         * @return The field data object at aIndex.
+         */
+        virtual MPbkFieldData& PbkFieldAt(TInt aIndex) = 0;
+
+        /**
+         * Returns the const field data object at aIndex.
+         * @return The const field data object at aIndex.
+         */
+        virtual const MPbkFieldData& PbkFieldAt(TInt aIndex) const = 0;
+    };
+
+/**
+ * Phonebook field data abstract interface. The interface is used as an
+ * abstraction to handle phonebook contact item field data access. 
+ * The Phonebook contact item field abstraction TPbkContactItemField 
+ * implements this interface.
+ */
+class MPbkFieldData
+    {
+    public:  // Destructor
+        /**
+         * Destructor.
+         */
+        virtual ~MPbkFieldData() {}
+
+    public:  // Interface
+        /**
+         * Returns the type of this field data.
+         * @return KStrorageTypeText or KStoragetTypeDateTime.
+         */
+        virtual TStorageType PbkFieldType() const = 0;
+
+        /**
+         * Returns the field id of this field data.
+         */
+        virtual TPbkFieldId PbkFieldId() const = 0;
+
+        /**
+         * Returns the text value of this field data.
+         * @precond PbkFieldType()==KStrorageTypeText.
+         */
+        virtual TPtrC PbkFieldText() const = 0;
+
+        /**
+         * Returns the Time value of this field data.
+         * @precond PbkFieldType()==KStoragetTypeDateTime.
+         */
+        virtual TTime PbkFieldTime() const = 0;
+
+    };
+
+
+#endif // __MPbkFieldData_H__
+
+// End of File