phonesrv_plat/phone_settings_api/inc/nwdefs.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:15:03 +0100
branchRCL_3
changeset 20 987c9837762f
parent 19 7d48bed6ce0c
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

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


#ifndef     NWDEFS_H
#define     NWDEFS_H

//  INCLUDES
#include <e32std.h>
#include "PsetConstants.h"

//  DATA TYPES  
//basic service groups
enum TBasicServiceGroups
    {
    EUnknown = -1, //this is not part of GSM standard
    // Phone settings updates this automatically to ETelephony or to EAltTele,
    // depending on if ALS is supported, and which line is active.
    EAllTeleAndBearer = 0,
    EAllTele = 10,
    ETelephony = 11,
    EAllDataTele = 12,
    EFax = 13,
    ESms = 16,
    EAllDataExSms = 18, //voice broadcast in gsm 02.30 v. 7.1.0
    EAllTeleExcSms = 19,

    EAllPlmnTele = 50,
    EPlmnTele1 = 51,
    EPlmnTele2 = 52,
    EPlmnTele3 = 53,
    EPlmnTele4 = 54,
    EPlmnTele5 = 55,
    EPlmnTele6 = 56,
    EPlmnTele7 = 57,
    EPlmnTele8 = 58,
    EPlmnTele9 = 59,
    EPlmnTeleA = 60,
    EPlmnTeleB = 61,
    EPlmnTeleC = 62,
    EPlmnTeleD = 63,
    EPlmnTeleE = 64,
    EPlmnTeleF = 65,

    EAllBearer = 20,
    EAllAsync = 21,
    EAllSync = 22,
    ESyncData = 24,
    EAsyncData = 25,
    EPacketData = 26,
    EPadAccess = 27, 

    EAllPlmnBearer = 70,
    EPlmnBearerServ1 = 71,
    EPlmnBearerServ2 = 72,
    EPlmnBearerServ3 = 73,
    EPlmnBearerServ4 = 74,
    EPlmnBearerServ5 = 75,
    EPlmnBearerServ6 = 76,
    EPlmnBearerServ7 = 77,
    EPlmnBearerServ8 = 78,
    EPlmnBearerServ9 = 79,
    EPlmnBearerServA = 80,
    EPlmnBearerServB = 81,
    EPlmnBearerServC = 82,
    EPlmnBearerServD = 83,
    EPlmnBearerServE = 84,
    EPlmnBearerServF = 85,

    EAltTele = 89  // no ui note support
    };

// basic teleservice groups (ETSI Gsm 02.03 and 02.04)
enum TServiceGroup {
        EServiceGroupVoice  = 0x00000001,
        EServiceGroupData   = 0x00000002,
        EServiceGroupFax    = 0x00000004,
        EServiceGroupAllTeleservices = EServiceGroupVoice | 
                                       EServiceGroupData | 
                                       EServiceGroupFax
        };

/////////////////////////////////////////////////////////////////////////////
// barring data types
//barring supplementary services
enum TBarringProgram
    {
    EBarringTypeAllBarrings                              = 0x0001,
    EBarringTypeAllOutgoing                              = 0x0002,
    EBarringTypeOutgoingInternational                    = 0x0004,
    EBarringTypeOutgoingInternationalExceptToHomeCountry = 0x0008,
    EBarringTypeAllIncoming                              = 0x0010,
    EBarringTypeIncomingWhenRoaming                      = 0x0020,
    EBarringTypeAllServices,
    EBarringTypeAllOutgoingServices,
    EBarringTypeAllIncomingServices
    };

//barring actions
enum TBarringSetting
    {
    EActivateBarring,
    ECancelBarring
    };

//barring status
enum TBarringStatus
    {
    EBarringStatusActive,
    EBarringStatusInactive,
    EBarringStatusNotProvisioned,
    EBarringStatusUnavailable,
    EBarringStatusUnknown
    };

/////////////////////////////////////////////////////////////////////////////
// diverting data types
//call forwarding conditions
enum TCallDivertingCondition {
    EDivertConditionUnconditional,
    EDivertConditionBusy,
    EDivertConditionNoReply,
    EDivertConditionNotReachable,
    EDivertConditionAllCalls,
    EDivertConditionAllConditionalCases
    };

//call forwarding actions
enum TDivertingSetting
    {
    EActivateDiverting,
    ECancelDiverting, 
    ERegisterDiverting, 
    EEraseDiverting,
    ECheckStatus
    };

//call forwarding statuses
enum TDivertingStatus
    {
    EDivertingStatusActive,
    EDivertingStatusInactive,
    EDivertingStatusNotRegistered,
    EDivertingStatusNotProvisioned,
    EDivertingStatusUnknown
    };

//call forwarding cenrep key statuses.
enum TCallForwardingStatus
	{
	EForwardingUnknown      = 0x0,
	EForwardingActiveVoice  = 0x01,
	EForwardingActiveFax    = 0x02,
	EForwardingActiveData   = 0x04
	};
		
//  CLASS DEFINITIONS 
// Supplemental class to contain all call barring settings.
class   TCallBarringSetting
    {
    public: //member data
        //Barring program
        TBarringProgram     iType;
        //Barring settings
        TBarringSetting     iSetting;
        //Barring group
        TServiceGroup       iServiceGroup;
        //Barring password
        TBarringPassword    iPassword;
    };

// Supplemental class to contain all call forwarding settings.
class   TCallDivertSetting
    {
    public: //new
        void Initialize()
            {
            iCondition = EDivertConditionUnconditional;
            iStatus = EDivertingStatusUnknown;
            iServiceGroup = EServiceGroupAllTeleservices;
            iNumber = KNullDesC;
            iNoReplyTimer = 0;
            }

    public: //member data
        //Divert condition
        TCallDivertingCondition iCondition;
        //Divert setting
        TDivertingSetting       iSetting;
        //Divert status
        TDivertingStatus        iStatus;
        //Divert service group
        TServiceGroup           iServiceGroup;
        //Diverted-to number
        TTelNumber              iNumber;
        //Delay time before starting diverting
        TInt                    iNoReplyTimer;
    };
#endif // NWDEFS_H
// End of file