phonebookengines/VirtualPhonebook/VPbkVCardEng/inc/CVPbkVCardFieldTypeList.h
changeset 0 e686773b3f54
equal deleted inserted replaced
-1:000000000000 0:e686773b3f54
       
     1 /*
       
     2 * Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Field type list for mapping vCard field types to 
       
    15                  generic field type list.
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 #ifndef CVPBKVCARDFIELDTYPELIST_H
       
    21 #define CVPBKVCARDFIELDTYPELIST_H
       
    22 
       
    23 // INCLUDE FILES
       
    24 #include <e32base.h>
       
    25 #include <MVPbkFieldType.h>
       
    26 #include <VPbkFieldType.hrh>
       
    27 
       
    28 // FORWARD DECLARATIONS
       
    29 class RContactViewSortOrder;
       
    30 class MVPbkFieldType;
       
    31 class MVPbkFieldTypeList;
       
    32 class CVPbkVCardFieldTypeProperty;
       
    33 
       
    34 // FORWARD DECLARATIONS
       
    35 class CFieldTypeMap;
       
    36 
       
    37 /**
       
    38  * Field type list for mapping vCard field types to generic field type list.
       
    39  */
       
    40 NONSHARABLE_CLASS(CVPbkVCardFieldTypeList) : 
       
    41         public CBase,
       
    42         public MVPbkFieldTypeList
       
    43     {
       
    44     public:
       
    45         static CVPbkVCardFieldTypeList* NewLC( 
       
    46             const TArray<CVPbkVCardFieldTypeProperty*> aArray,
       
    47             const MVPbkFieldTypeList& aMasterFieldTypeList );
       
    48         ~CVPbkVCardFieldTypeList();
       
    49 
       
    50     public: // From MVPbkFieldTypeList
       
    51         TInt FieldTypeCount() const;
       
    52         const MVPbkFieldType& FieldTypeAt(TInt aIndex) const;
       
    53         TBool ContainsSame(const MVPbkFieldType& aFieldType) const;
       
    54         TInt MaxMatchPriority() const;
       
    55         const MVPbkFieldType* FindMatch
       
    56             (const TVPbkFieldVersitProperty& aMatchProperty,
       
    57             TInt aMatchPriority) const;
       
    58         const MVPbkFieldType* FindMatch
       
    59             (TVPbkNonVersitFieldType aNonVersitType) const;
       
    60         const MVPbkFieldType* Find(TInt aFieldTypeResId) const;
       
    61 
       
    62     private: // Implementation
       
    63         CVPbkVCardFieldTypeList();
       
    64         void ConstructL( const TArray<CVPbkVCardFieldTypeProperty*> aArray,
       
    65             const MVPbkFieldTypeList& aMasterFieldTypeList );
       
    66 
       
    67     private: // Data
       
    68         ///Own: field type array
       
    69         RPointerArray<MVPbkFieldType> iFieldTypes;
       
    70         ///Own: max match priority
       
    71         TInt iMaxMatchPriority;
       
    72     };
       
    73 
       
    74 
       
    75 #endif // CVPBKVCARDFIELDTYPELIST_H
       
    76 //End of file
       
    77