renamed dlls+exe to prevent conflicts with existing files in emulator; changelog attached.
* renamed dlls/exe:
- aifw.dll to aifw_hs.dll
- cputils to cputils_hs
- aiidleint.dll to aiidleint_hs.dll
- aiutils.dll to aiutils_hs.dll
- MenuInterface.dll to MenuInterface_hs.dll
- XCFW.dll to XCFW_hs.dll
- homescreen.exe to homescreen_hs.exe
- ailaunch.exe to ailaunch_hs.exe
* new UID for Active Idle (aifw_hs.dll, aiidleint_hs.dll and homescreen.exe):
#define AI_UID3_AIFW_COMMON 0xEDFF45C4 (was 0x102750F0 = 271012080)
* new UID for cputils_hs.dll: 0xE3E7134E (was 0x20016B7F = 536963967)
* new UID for AI Utilities Factory (aiutils_hs.dll): 0xEC55106C (was 0x10281865 = 271063141)
* new UID for MenuInterface_hs.dll: 0xEEE24485 (was 0x10210EAB = 270601899)
* new UID for XCFW_hs.dll: 0xEB12332F (was 0x10210EA0 = 270601888)
* new UID for ailaunch_hs.exe: 0xEF5A047A (was 0x200286E3 = 537036515)
/*
* Copyright (c) 2002-2004 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: This file defines the interface of the Network Handling
*
*/
#ifndef NWHandlingEngine_H
#define NWHandlingEngine_H
// INCLUDES
#include <e32base.h>
#include <rmmcustomapi.h>
#include <etelpckt.h> // for RPacketService::TDynamicCapsFlags
// CONSTANTS
// Max length of network country code.
const TInt KNWCountryCodeLength = 4; // This value is defined in multimode etel definition document.
// Max length of network identity code.
const TInt KNWIdentityLength = 8; // This value is defined in multimode etel definition document.
// Max length of network display alpha tag
const TInt KNWDisplayTagLength = 30; // New EtelMM API defition describe this value to be 32, but etelmm.h contains value 30.
// Max length of network short name.
const TInt KNWShortNameLength = 10; // New EtelMM API defition describe this value to be 8, but etelmm.h contains value 10.
// Max length of network long name.
const TInt KNWLongNameLength = 20; // New EtelMM API defition describe this value to be 16, but etelmm.h contains value 20.
// Max length of service provider name.
const TInt KNWServiceProviderNameLength = 16;
// Max length of network provider name.
const TInt KNWProviderNameLength = 25;
// Max length of MCN name.
const TInt KNWMCNNameLength = 20;
// Max length of VIAG text tag
const TInt KNWViagTextTagLength = 13;
// Max length of PLMN field
const TInt KNWPLMNFieldLength = 251;
// DATA TYPES
// MCN name
typedef TBuf<KNWMCNNameLength> TNWMCNName;
// Viag text tag
typedef TBuf<KNWViagTextTagLength> TNWViagTextTag;
// MCC in GSM and TDMA
typedef TBuf<KNWCountryCodeLength> TNWCountryCode;
// MNC in GSM and SID in TDMA
typedef TBuf<KNWIdentityLength> TNWIdentity;
// Network Alpha-tag
typedef TBuf<KNWDisplayTagLength> TNWDisplayTag;
// The short name of the network operator
typedef TBuf<KNWShortNameLength> TNWShortName;
// The long name of the network operator
typedef TBuf<KNWLongNameLength> TNWLongName;
// Service provider name
typedef TBuf<KNWServiceProviderNameLength> TNWServiceProviderName;
// The PLMN Field
typedef TBuf<KNWPLMNFieldLength> TNWPLMNField;
// Network provider name
typedef TBuf<KNWProviderNameLength> TNWProviderName;
// The Programmable Operator Name type.
typedef RMmCustomAPI::TOperatorNameInfo TNWOperatorNameInfo;
// Display of the registered PLMN.
typedef TUint32 TNWDisplayRequirementsFlags;
enum TNWRegistrationStatus
{
ENWRegistrationUnknown,
ENWNotRegisteredNoService,
ENWNotRegisteredEmergencyOnly,
ENWNotRegisteredSearching,
ENWRegisteredBusy,
ENWRegisteredOnHomeNetwork,
ENWRegistrationDenied,
ENWRegisteredRoaming
};
enum TNWMode
{
ENWModeUnknown,
ENWModeUnregistered,
ENWModeGsm,
ENWModeAmps,
ENWModeCdma95,
ENWModeCdma2000,
ENWModeWcdma,
ENWModeTdcdma
};
enum TNWStatus
{
ENWStatusUnknown,
ENWStatusAvailable,
ENWStatusCurrent,
ENWStatusForbidden
};
enum TNWDisplayRequirements
{
ENWDisplayPLMNNotRequired = 0x00000001,
ENWDisplayPLMNRequired = 0x00000002,
ENWDisplaySPNRequired = 0x00000004,
ENWDisplaySPNNotRequired = 0x00000008
};
enum TNWViagIndicatorType //enum for viag indicator type
{
ENWViagIndicatorTypeNone,
ENWViagIndicatorTypeHomeZone,
ENWViagIndicatorTypeCityZone
};
enum TNWMCNIndicatorType //enum for mcn indicator type
{
ENWMCNIndicatorTypeNone,
ENWMCNIndicatorTypeActive
};
// CDMA enumerations for TNWInfo
enum TNWNoServiceMode
{
ENWNotRegisteredOutOfRange,
ENWNotRegisteredPowerSaveMode
};
// CDMA enumerations for TNWInfo
enum TNWVoicePrivacyStatus
{
ENWVoicePrivacyStatusOff,
ENWVoicePrivacyStatusOn,
ENWVoicePrivacyStatusUnknown
};
enum TNWRead
{
ESPNEFRead,
ENPNEFRead,
EProgEFRead,
EViagEFRead,
EFullFileChange
};
#ifdef RD_PHONE_NG
enum TNWNetworkSelectionSetting
{
ENWNetworkSelectionUnknown,
ENWNetworkSelectionAutomatic,
ENWNetworkSelectionManual
};
#endif // RD_PHONE_RG
// CLASS DECLARATION
//Network info definition
struct TNWInfo
{
TNWRegistrationStatus iRegistrationStatus; // Network registration status
TNWMode iNetworkMode; // Mode of the network
TNWStatus iStatus; // Status of the Network
TNWCountryCode iCountryCode; // MCC in GSM and TDMA
TNWIdentity iNetworkId; // MNC in GSM and SID in TDMA
TNWDisplayTag iDisplayTag; // Network Alpha-tag
TNWShortName iShortName; // The short name of the operator
TNWLongName iLongName; // The long name of the operator
TNWViagIndicatorType iViagIndicatorType; // Zone indicator type
TNWViagTextTag iViagTextTag; // Viag text tag
TNWMCNIndicatorType iMCNIndicatorType; // MCN indicator type
TNWMCNName iMCNName; // MCN name
TNWServiceProviderName iSPName; // Service provider name
TNWDisplayRequirementsFlags iServiceProviderNameDisplayReq; // Service provider name display required
TNWProviderName iNPName; // Network provider name
TNWOperatorNameInfo iOperatorNameInfo; // Operator name
TNWNoServiceMode iNoServerMode; //
TNWVoicePrivacyStatus iVoicePrivacyStatus; // Voice Privacy Status
TNWPLMNField iPLMNField; // Contains a number of PLMN network names coded as TLV objects
#ifdef RD_PHONE_NG
TNWNetworkSelectionSetting iSelectionSetting; // Contains a network selection setting manual/automatic etc.
#endif // RD_PHONE_NG
RPacketService::TDynamicCapsFlags iDynamicCapsFlags; // Dynamic packet data capabilities
// (used to hide alpha tag when CS registration is unsuccessful)
};
// CLASS DECLARATION
/**
* Offers message interface from network handling to client
*
* @lib networkhandling.lib
* @since Series 60_2.8
*/
class MNWMessageObserver
{
public:
enum TNWMessages
{
// COMMON NETWORK MESSAGES 0 - 99
// Message will be sent when current network information changed
ENWMessageNetworkInfoChange,
// Message will be sent when network mode changed (e.g.Gsm to Wcdma )
ENWMessageNetworkModeChange,
// Message will be sent when network registration status changed
ENWMessageNetworkRegistrationStatusChange,
// Message will be sent when programmable operator name changed
ENWMessageProgrammableOperatorInfoChange,
// Message will be sent when network provider changed
ENWMessageNetworkProviderNameChange,
// Message will be sent when service provider changed
ENWMessageServiceProviderNameChange,
// Message will be sent when NW starts update Operator Name Info
ENWMessageProgrammableOperatorInfoUpdating,
// Message will be sent when NW starts update Network Service Provider Name
ENWMessageNetworkProviderNameUpdating,
// Message will be sent when NW starts update Service Provider Name
ENWMessageServiceProviderNameUpdating,
// Message will be sent when allow refresh is called.
ENWMessageAllowRefresh,
// Message will be sent when networkSelection setting changed
#ifdef RD_PHONE_NG
ENWMessageNetworkSelectionSettingChange,
#endif // RD_PHONE_NG
// GSM SPECIFIC MESSAGES 100 - 199
// Message will be sent when cell re-selection occured
ENWMessageNetworkCellReselection = 100,
// Message will be sent when network connection failured
ENWMessageNetworkConnectionFailure,
// Message will be sent when MCN CBS message was reveived
ENWMessageCurrentCellInfoMessage,
// Message will be sent when Viag CBS message was reveived
// and completely handled.
ENWMessageCurrentHomeZoneMessage,
// Message will be sent when cell info display changed
ENWMessageNetworkIndicatorChange,
// Message will be sent when dynamic packet data capabilities change
// (Used to hide alpha tag when CS registration is unsuccessful)
ENWMessageDynamicCapsChange,
// CDMA SPECIFIC MESSAGES 200 - 299
ENWMessageNetworkEmergencyMode = 200,
ENWMessageVoicePrivacyStatusChange,
ENWMessageStartSystemSearchRequestCompleteOk,
ENWMessageStartSystemSearchRequestCompleteFail,
ENWMessageStopProtocolStackRequestCompleteOk,
ENWMessageStopProtocolStackRequestCompleteFail
};
enum TNWOperation
{
ENWNone,
// Fetching Service Provider Name
ENWGetServiceProviderName,
// Fetching Network Provider Name
ENWGetNetworkProviderName,
// Fetching Programmable Operator Name
ENWGetProgrammableOperatorName,
// Notifying network registration status change
ENWNotifyNetworkRegistrationStatusChange,
};
/**
* Offers message interface to the client
* @param aMessage
* This methods execute time must be short,since code
* starting to run from RunL.
*/
virtual void HandleNetworkMessage( const TNWMessages aMessage ) = 0;
/**
* Offers error message interface to the client
* @param aOperation operation which failed
* @param aErrorCode returned Symbian OS error code
*
*/
virtual void HandleNetworkError( const TNWOperation aOperation, TInt aErrorCode ) = 0;
};
#endif // NWHandlingEngine_H
// End of File