/*
* Copyright (c) 2005-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:  Phonebook 2 USIM UI Extension definitions.
*
*/


#ifndef PBK2USIMUI_HRH
#define PBK2USIMUI_HRH

#include <Pbk2ViewInfo.hrh>
#include <Pbk2IconId.hrh>
#include <phonebook2.mbg>
#include <Pbk2Commands.hrh>
#include <avkon.mbg>

/**
 * Dynamic command codes.
 */
enum TPsu2Command
    {
    // Names list view extension commands
    EPsu2CmdCascadingSimMemory = EUSimUiExtensionFirstCommand,
    EPsu2CmdFirstSimMemoryMenuItem,

    EPsu2CmdLaunchOwnNumberView,
    EPsu2CmdLaunchServiceDialingView,
    EPsu2CmdLaunchFixedDialingView,

    EPsu2CmdOpenServiceDialingInfoView,
    EPsu2CmdOpenFixedDialingInfoView,

    EPsu2CmdActivateFDN,
    EPsu2CmdDeactivateFDN,
    EPsu2CmdNewContact,
    EPsu2CmdEdit,
    EPsu2CmdDelete,
    EPsu2CmdCopyToContacts,
    EPsu2CmdCopyFromContacts,

    EPsu2CmdLast
    };

/**
 * Extension view ids.
 */
enum TPsu2ViewId
    {
    EPsu2OwnNumberViewId = EUSimUiExtensionFirstViewId,
    EPsu2ServiceDialingViewId,
    EPsu2ServiceDialingInfoViewId,
    EPsu2FixedDialingViewId,
    EPsu2FixedDialingInfoViewId
    };

/**
 * Icon ids.
 */
enum TPsu2IconId
    {
    EPsu2qgn_prop_nrtyp_sdn = 1,
    EPsu2qgn_menu_simin,
    EPsu2qgn_menu_simfdn,
    EPsu2qgn_prop_nrtyp_sim_contact,
    EPsu2qgn_prop_nrtyp_phone
    };

/**
 * Mapping codes for the errors and field types used in the SIM copy.
 */
enum TPsu2ErrorCode
    {
    KPsu2NoError = 0,
    // in ETel/TSY: KErrGsmSimServEmailFull
    KPsu2EMailFullError = 0x01,
    // in ETel/TSY: KErrGsmSimServSneFull
    KPsu2SecondNameFullError = 0x02
    };

/**
 * Icons and bitmaps.
 */
#ifdef __SCALABLE_ICONS
    #define qgn_menu_simin              EMbmPsu2Qgn_menu_simin
    #define qgn_menu_simin_mask         EMbmPsu2Qgn_menu_simin_mask
    #define qgn_menu_simfdn             EMbmPsu2Qgn_menu_simfdn
    #define qgn_menu_simfdn_mask        EMbmPsu2Qgn_menu_simfdn_mask
#else
    #define qgn_menu_simin              EMbmPsu2Qgn_menu_simin_cxt
    #define qgn_menu_simin_mask         EMbmPsu2Qgn_menu_simin_cxt_mask
    #define qgn_menu_simfdn             EMbmPsu2Qgn_menu_simfdn_cxt
    #define qgn_menu_simfdn_mask        EMbmPsu2Qgn_menu_simfdn_cxt_mask
#endif // __SCALABLE_ICONS

#define qgn_prop_nrtyp_sdn              EMbmPsu2Qgn_prop_nrtyp_sdn
#define qgn_prop_nrtyp_sdn_mask         EMbmPsu2Qgn_prop_nrtyp_sdn_mask
#define qgn_prop_nrtyp_sim_contact      EMbmPsu2Qgn_prop_nrtyp_sim_contact
#define qgn_prop_nrtyp_sim_contact_mask EMbmPsu2Qgn_prop_nrtyp_sim_contact_mask

/// A flags for fields that can be truncated if too long
#define KPsu2AllowedToTruncate          0x01

//// Phonebook2 bitmap file location and name
#define psu2_mbm_file_location          "z:\\resource\\apps\\psu2.mif"

#endif // PBK2USIMUI_HRH

// End of File
