diff -r 000000000000 -r ff3b6d0fd310 phonesrv_plat/phone_settings_api/inc/PsetCallDiverting.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonesrv_plat/phone_settings_api/inc/PsetCallDiverting.h Tue Feb 02 01:11:09 2010 +0200 @@ -0,0 +1,228 @@ +/* +* 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: Call diverting class. Sets and gets call diverting status. +* +* +*/ + + +#ifndef PSETCALLDIVERTING_H +#define PSETCALLDIVERTING_H + +// INCLUDES +#include +#include "nwdefs.h" +#include "PsetConstants.h" +#include "MPsetCallDiverting.h" + +// FORWARD DECLARATIONS +class CDesC16ArrayFlat; +class MPsetDivertObserver; +class MPsetRequestObserver; +class RVmbxNumber; +class CRepository; +class TCallDivertNotifySetting; +class MPSetCallDiverting; +class CPSetCallDivertingFactory; +class MCallDiverting; + +enum TSelectedLine + { + EPrimaryLine, // ALS is supported by ME & SIM and Line 1 (Primary Line) is the current line + EAuxiliaryLine, // ALS is supported by ME & SIM and Line 2 (Auxiliary Line) is the current line + EUnknownLine, // ALS is supported by ME & SIM but TSY can not determine line selection + ENotSupportedLine // ALS is not supported either by ME or SIM or both. + }; + +// CLASS DECLARATION +/** +* CPsetCallDiverting class is call diverting SS handler. +* @lib phonesettings.lib +* @since 1.0 +*/ +class CPsetCallDiverting : public CBase, + public MPsetCallDiverting + { + public: // constructor & destructor + + /** + * Symbian OS 2-phase Constructor. + * + * @param aObserver Call divert observer. + * @param aPhone Provides client access to + * mobile phone functionality provided by TSY. + * @return Created CPsetCallDiverting object. + */ + IMPORT_C static CPsetCallDiverting* NewL( + MPsetDivertObserver& aObserver, + RMobilePhone& aPhone); + + /* + * Destructor. + */ + IMPORT_C ~CPsetCallDiverting(); + + public: // From base class. + + /** + * @see MPsetCallDiverting::SetDivertingL(). + */ + IMPORT_C void SetDivertingL( const TCallDivertSetting& aDivert, + TBasicServiceGroups aBsc, TBool aVmbx = EFalse ); + + /** + * @see MPsetCallDiverting::GetDivertingStatusL(). + */ + IMPORT_C void GetDivertingStatusL( const TServiceGroup aServiceGroup, + const TCallDivertingCondition aCondition, + TBasicServiceGroups aBsc ); + + /** + * @see MPsetCallDiverting::CancelCurrentRequest(). + */ + IMPORT_C TInt CancelCurrentRequest(); + + public: //new + + /** + * Gets the default time for CF No Reply. + * No error checking for return values which should be + * 5-30, in steps of 5. + * + * @return Returns the current timer value. + */ + IMPORT_C TInt GetTimerValueL(); + + /** + * Sets the default time for CF No Reply. + * No error checking to parameters, which should be on range 5-30, + * using steps of 5. + * + * @param aIndex New value for timer. + * @return Returns error code. + */ + IMPORT_C TInt SetTimerValueL( const TInt& aIndex ); + + /** + * The default (last forwarded-to) numbers can be retrieved + * through this method. + * + * @param aDefNumbers Read default numbers from shared data. + * @return Returns error code or amount of numbers read. + */ + IMPORT_C TInt GetDefaultNumbersL( CDesC16ArrayFlat& aDefNumbers ); + + /** + * Sets new default number to the default numbers list, + * erases the oldest one automatically, if three numbers already in the + * shared data. + * + * @param aNumber New number to be added. + * @return Returns error code. + */ + IMPORT_C TInt SetNewDefaultNumberL( TDes& aNumber ); + + /** + * Swaps the most recently used number to first in shared data file. + * + * @param aLocation Used number's location (1-3) in shared data. + */ + IMPORT_C void SwapDefaultNumberL( const TInt& aLocation ); + + /** + * Saves last used data number to shared data. + * + * @param aNumber Number used for data call forwarding. + * @return Returns error code. + */ + IMPORT_C TInt SetUsedDataNumberL( TTelNumber& aNumber ); + + /** + * Saves last used fax number to shared data. + * + * @param aNumber Number used for data fax forwarding. + * @return Returns error code. + */ + IMPORT_C TInt SetUsedFaxNumberL( TTelNumber& aNumber ); + + /** + * Gets the phone number used for fax call forwarding. + * + * @return Number used for data call forwarding. + */ + IMPORT_C HBufC* GetUsedFaxNumberLC(); + + /** + * Gets the phone number used for data call forwarding. + * + * @return Number used for data call forwarding. + */ + IMPORT_C HBufC* GetUsedDataNumberLC(); + + /** + * Sets request observer. + * + * @param aObs Where the request completion should be informed to. + */ + IMPORT_C void SetRequestObserver( MPsetRequestObserver* aObs ); + + /** + * Queries for voice mail box number. If number is undefined, number + * entry pops up. + * @since 2.0 + * + * @param aTelNumber Vmbx number. + */ + IMPORT_C void VoiceMailQueryL( TDes& aTelNumber ); + + /** + * Queries for video mailbox number. If number is undefined, number + * entry pops up. + * @since 3.1 + * + * @param aTelNumber Video mailbox number. + */ + IMPORT_C void VideoMailQueryL( TDes& aTelNumber ); + + private: //new + + TInt OpenVideoMailboxLC( TDes& aTelNumber, RVmbxNumber& aVmbx ); + + private: // constructors + + void ConstructL( MPsetDivertObserver& aObserver ); + + CPsetCallDiverting( RMobilePhone& aPhone ); + + private: //member data + + // Observer for Call divert requests + MPsetDivertObserver* iObserver; + + // Provides client access to mobile phone functionality provided by TSY. + RMobilePhone& iPhone; + + // Request observer + MPsetRequestObserver* iReqObserver; + + // Central repository. + CRepository* iRepository; + + // Call Divert implementation. + MCallDiverting* iDivert; + }; + +#endif // PSETCALLDIVERTING_H + +// End of File