--- a/gssettingsuis/Gs/GSCallDivertPlugin/Inc/GSCallDivertModel.h Tue Feb 02 00:22:03 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-/*
-* Copyright (c) 2008 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: Model for call divert functionality. Tries to encapsulate
-* most of hw/engine related functionality from UI components.
-*
-*/
-
-#ifndef CGSCALLDIVERTMODEL_H_
-#define CGSCALLDIVERTMODEL_H_
-
-
-#include <data_caging_path_literals.hrh>
-#include "CallDivertPlugin.hrh"
-
-#include <etelmm.h>
-#include <nwdefs.h>
-#include <e32base.h>
-
-
-// Forward declarations:
-class CPsetCallDiverting;
-class CPsetContainer;
-class CPsuiContainer;
-class CPsuiDivertObs;
-class CPhCltUssd;
-class RSSSettings;
-class CPbkContactEngine;
-class CGSCallDivertView;
-class CRepository;
-
-class CGSCallDivertModel : public CBase
- {
- public:
-
- /**
- * Symbian OS two-phase Constructor
- * @return
- */
- static CGSCallDivertModel* NewL ( );
-
- /**
- * Destructor
- */
- virtual ~CGSCallDivertModel ( );
-
- public: // Functions
-
- /**
- * Send call divert request.
- * @param aCallDivertSetting Data used for call divert.
- * @param aInfo Defines the precise action.
- * @param aVmbxDivert ETrue if voice mailbox is used as divert number.
- * @param aCommand This is for CancelAll command.
- */
- void SendCallDivertRequestL(
- TCallDivertSetting& aCallDivertSetting,
- RMobilePhone::TMobilePhoneServiceAction aInfo,
- TBool& aVmbxDivert,
- TInt aCommand,
- TGSCallDivertServices aService );
-
- /**
- * Handles attempts to divert to voicemail box.
- * @param aTelNumber telephone number of the voicemail box
- * @return KErrNone on success, otherwise KErrCancel
- */
- TInt VoiceMailActivationL( TDes& aTelNumber );
-
- /**
- * Handles attempts to divert to videomail box.
- * @param aTelNumber telephone number of the videomail box
- * @return KErrNone on success, otherwise KErrCancel
- */
- TInt VideoMailActivationL( TDes& aTelNumber );
-
- /**
- * Handles attempts to check divert status in restricted
- * mode (KFeatureIdRestrictedCallDivert).
- */
- void CheckStatusRestrictedCallDivertL();
-
- /**
- * Handles attempts to cancel call divert restricted
- * mode (KFeatureIdRestrictedCallDivert).
- */
- void CancelRestrictedCallDivertL();
-
- /**
- * Returns the contact name matching the number, or the number if
- * no contact name is found.
- * Pushes the found (i.e. returned) name into CleanupStack.
- * @param aTelNum number on which to base the fetch.
- * @return Pointer to contact name
- */
- HBufC* MatchNumberToContactLC( const TDesC& aTelNum );
-
- /**
- * @ return Reference to divert handling engine. Does NOT transfer
- * ownership.
- */
- CPsetCallDiverting* DivertHandler();
-
- /**
- * @param aView Reference to call divert view. Does NOT transfer
- * ownership.
- */
- void SetDivertView( CGSCallDivertView* aDivertView );
-
- /**
- * @return Currently selected divert service group.
- */
- TGSCallDivertServiceGroups DivertServiceGroup();
-
- /**
- * Sets new divert service group. Voice/Data/Fax...
- * See TGSCallDivertServiceGroups
- * @param aDivertServiceGroup New divert service group.
- */
- void SetDivertServiceGroup(
- TGSCallDivertServiceGroups aDivertServiceGroup );
-
- /**
- * Checks number grouping feature from central repository.
- * @return ETrue - Feature supported.
- * EFalse - Feature not supported.
- */
- TBool NumberGroupingSupportedL();
-
- private: // Functions
-
- /**
- * Symbian OS default constructor
- */
- void ConstructL ( );
-
- /**
- * C++ Constructor
- */
- CGSCallDivertModel ( );
-
- /**
- * Handles attempts to activate call divert in restricted
- * mode (KFeatureIdRestrictedCallDivert).
- */
- void ActivateRestrictedCallDivertL( TTelNumber& aDivertNumber );
-
- /**
- * Sets parameters for calling Phone Settings' method.
- */
- void SetDivertParametersL( TCallDivertSetting& aDivert,
- TBasicServiceGroups& aBsc,
- TGSCallDivertServices aService,
- TGSCallDivertServiceGroups aServiceGroup );
-
- /**
- * Uses the phonesettings-module.
- *
- * @param aDivert gives required information such as number,
- * timervalue, status etc
- * @param aInfo defines the precise action
- * @param aVmbxValidNumber divert is to a voicemail box number
- * @param aCommand this is for CancelAll command
- */
- void EngineOperatorL( TCallDivertSetting& aDivert,
- const RMobilePhone::TMobilePhoneServiceAction & aInfo,
- TBool& aVmbxValidNumber,
- TInt aCommand,
- TGSCallDivertServices aService,
- TGSCallDivertServiceGroups aServiceGroup );
-
- /**
- * Removes special chars ('*','+','p','w' and '#') from VMBX number.
- */
- static void RemoveSpecialChar(
- TDes& aVmbxNumber,
- const TDesC& aSpecChar );
-
-
- private: // Member variables
-
- // Selected call divert group. Selected from the main view. Value is
- // stored here as is accessed by several components.
- TGSCallDivertServiceGroups iDivertServiceGroup;
-
- // PhoneSettings engine object for diverts
- CPsetCallDiverting* iForward;
-
- // PhoneSettings container
- CPsetContainer* iSettings;
-
- // PSUI container
- CPsuiContainer* iObsContainer;
-
- // Shows PSUI notes
- CPsuiDivertObs* iCfObserver;
-
- // Sending with notes
- CPhCltUssd* iBasicClient;
-
- // For fetching line in use info
- RSSSettings* iSsSettings;
-
- // Contact engine for retrieving contact numbers
- CPbkContactEngine* iContactEngine;
-
- // Reference to call divert view. NOT owned.
- CGSCallDivertView* iDivertView;
-
- // Repository for number grouping run time variation.
- CRepository* iNumberGroupingRepository;
- };
-
-#endif /*CGSCALLDIVERTMODEL_H_*/