/*
* 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: 
*
*/


#ifndef __PbkFieldMapping_RH__
#define __PbkFieldMapping_RH__

STRUCT PBK_VCARD_FIELD_TYPE
    {
    // vCard property name as an UID (see cntdef.hrh)
    LONG vCardProperty;
    // Bitmapped vCard property paramteres (see PbkFieldMapping.hrh)
    LONG vCardParams = 0;
    }

// Phonebook field type mapping.
STRUCT PBK_VCARD_FIELD_MAPPING
    {
    // vCard import types as an array of PBK_VCARD_FIELD_TYPE 
    // (in matching priority order).
    STRUCT importTypes[];
    // Bitmapped vCard property parameters this field type should not contain
    // (see PbkFieldMapping.hrh)
    LONG excludeParams;
    }

// Entry in a UID <-> vCard parameter bit mapping table.
STRUCT PBK_FIELD_TYPE_UID_MAPPING
    {
    // UID fieldType is mapped to
    LONG uid;
    // Type mapping bit (see PbkFieldMapping.hrh)
    LONG parameterBit;
    }

// UID <-> vCard parameter bit mapping table.
STRUCT PBK_FIELD_TYPE_UID_TABLE
    {
    // Array of PBK_FIELD_TYPE_UID_MAPPING structures
    STRUCT table[];
    }

// Entry in a text tag <-> vCard parameter bit mapping table.
STRUCT PBK_FIELD_TYPE_TEXT_MAPPING
    {
    // Text tag fieldType is mapped to
    LTEXT tag;
    // Type mapping bit (see PbkFieldMapping.hrh)
    LONG parameterBit;
    }

// UID <-> vCard parameter bit mapping table.
STRUCT PBK_FIELD_TYPE_TEXT_TABLE
    {
    // Array of PBK_FIELD_TYPE_TEXT_MAPPING structures
    STRUCT table[];
    }


// Remap definitions from PbkFieldMapping.hrh to a shorter form to make the 
// resources more readable.
#include "PbkFieldMapping.hrh"

#define HOME            KPbkContactFieldVCardMapHOMEBit
#define WORK            KPbkContactFieldVCardMapWORKBit
#define VOICE           KPbkContactFieldVCardMapVOICEBit
#define CELL            KPbkContactFieldVCardMapCELLBit
#define FAX             KPbkContactFieldVCardMapFAXBit
#define PAGER           KPbkContactFieldVCardMapPAGERBit
#define MSG             KPbkContactFieldVCardMapMSGBit
#define BBS             KPbkContactFieldVCardMapBBSBit
#define MODEM           KPbkContactFieldVCardMapMODEMBit
#define CAR             KPbkContactFieldVCardMapCARBit
#define ISDN            KPbkContactFieldVCardMapISDNBit
#define VIDEO           KPbkContactFieldVCardMapVIDEOBit
#define DOM             KPbkContactFieldVCardMapDOMBit
#define INTL            KPbkContactFieldVCardMapINTLBit
#define POSTAL          KPbkContactFieldVCardMapPOSTALBit
#define PARCEL          KPbkContactFieldVCardMapPARCELBit
#define INTERNET        KPbkContactFieldVCardMapINTERNETBit
#define PREF            KPbkContactFieldVCardMapPREFBit
#define X509            KPbkContactFieldVCardMapX509Bit
#define PGP             KPbkContactFieldVCardMapPGPBit
#define SMIME           KPbkContactFieldVCardMapSMIMEBit

#endif // __PbkFieldMapping_RH__

// End of File
