/*
* Copyright (c) 2006 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:  Resource headers for PIM API Localization plugin
*
*/


#ifndef PIMPLUGIN_RH
#define PIMPLUGIN_RH

// ---------------------------------------------------------------------------
// PIM_LIST_ARRAY
// Array of PIM lists
// ---------------------------------------------------------------------------
//
STRUCT PIM_LIST_ARRAY
    {
    /**
     * Array of lists
     * @see PIM_LIST
     */
    STRUCT lists[];
    }
    
// ---------------------------------------------------------------------------
// PIM_LABEL_ARRAY
// Localization label array
// ---------------------------------------------------------------------------
//
STRUCT PIM_LABEL_ARRAY
    {
    /**
     * Array of fields
     * @see PIM_LABEL_PAIR
     * @see PIM_LABEL_PAIR_WITH_SUBELEMENTS
     */
    STRUCT labels[];
    }
    
// ---------------------------------------------------------------------------
// PIM_LIST
// PIM list information structure
// ---------------------------------------------------------------------------
//
STRUCT PIM_LIST
    {
    /**
     * Type of the sublist if this is a sublist
     * @see TPIMLocalizationData
     */
    BYTE    list_subtype            = 0;
    
    /**
     * Link to the name of the list
     */
    LLINK   list_name;
    
    /**
     * Array of fields
     * @see PIM_LABEL_ARRAY
     */
    LLINK   field_array_id;
    
    /**
     * Array of attributes
     * @see PIM_LABEL_ARRAY
     */
    LLINK   attribute_array_id      = 0;
    }

// ---------------------------------------------------------------------------
// PIM_LABEL_PAIR
// Localization label pair
// ---------------------------------------------------------------------------
//
STRUCT PIM_LABEL_PAIR
    {
    /**
     * Label id. Can be field, attribute or array element
     */
    LONG    id;
    
    /**
     * Localizaed label
     */
    LTEXT   label;
    
    /**
     * Indicates that this struct doesn't have sub elements
     */
    BYTE    has_sub_elements = 0;
    }
    
// ---------------------------------------------------------------------------
// PIM_LABEL_PAIR_WITH_SUBELEMENTS
// Localization label pair
// ---------------------------------------------------------------------------
//
STRUCT PIM_LABEL_PAIR_WITH_SUBELEMENTS
    {
    /**
     * Label id. Can be field, attribute or array element
     */
    LONG    id;
    
    /**
     * Localizaed label
     */
    LTEXT   label;
    
    /**
     * Indicates that this struct has sub elements
     */
    BYTE    has_sub_elements = 1;
    
    /**
     * Sub-elements if any. 
     */
    STRUCT  sub_elements[];
    }
    
// ---------------------------------------------------------------------------
// PIM_SUBELEMENT_LABEL_PAIR
// Localization label pair for sub-elements
// ---------------------------------------------------------------------------
//
STRUCT PIM_SUBELEMENT_LABEL_PAIR
    {
    /**
     * Label id. Can be field, attribute or array element
     */
    LONG    id;
    
    /**
     * Localizaed label
     */
    LTEXT   label;
    }

#endif // PIMPLUGIN_RH

// End of file
