cellular/telephonysettings/inc/MCallDiverting.h
changeset 0 ff3b6d0fd310
child 19 7d48bed6ce0c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/inc/MCallDiverting.h	Tue Feb 02 01:11:09 2010 +0200
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2002-2006 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: Declaration of MCallDiverting interface class.
+*
+*/
+
+
+#ifndef     MCALLDIVERTING_H
+#define     MCALLDIVERTING_H
+
+/**
+ *  MCallDiverting class is virtual interface class for divert 
+ *  functionality.
+ *
+ *  @lib phonesettings
+ *  @since S60 v5.1
+ */
+class MCallDiverting
+    {
+    public:
+
+        /**
+        * Sets diverting to the network.
+        * 
+        * @param aDivert New divert settings.
+        * @param aBsc List of basic service groups .
+        */
+        virtual void SetDivertingL( const TCallDivertSetting& aDivert,  
+                                    TBasicServiceGroups aBsc ) = 0;
+        /**
+        * Checks the diverting status from network.
+        * 
+        * @param aServiceGroup Service group indication.
+        * @param aCondition Diverting conditions.
+        * @param aBsc List of basic service groups.
+        */
+        virtual void GetDivertingStatusL( 
+                                    const TServiceGroup aServiceGroup, 
+                                    const TCallDivertingCondition aCondition, 
+                                    TBasicServiceGroups aBsc ) = 0;
+        /**
+        * Cancels current request.
+        * 
+        * @return Returns error code.
+        */
+        virtual TInt CancelCurrentRequest() = 0;
+        
+        /**
+        *  Reads used divert numbers (0-3) from central repository
+        *  and fills array with them.
+        *
+        *  @param aType used line.
+        *  @param aArray array of divert number.
+        *  @return amount of numbers.
+        */
+        virtual TInt GetNumbersFromSharedDataL( 
+                                    TInt aType, 
+                                    CDesC16ArrayFlat& aArray ) = 0;
+        /**
+        * Sets new default number the the default numbers list, 
+        * erases the oldest one.
+        * 
+        * @param aNumber phone number. 
+        * @return Returns error code.
+        */
+        virtual TInt SetNewDefaultNumberL( TDes& aNumber ) = 0;
+        
+        /**
+        *  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.
+        */
+        virtual TInt GetTimerValueL() = 0;
+        
+        /*
+        *  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.
+        */
+        virtual TInt SetTimerValueL( const TInt& aValue ) = 0;
+        
+        /**
+        * Swaps the most recently used number to first in shared data file.
+        *
+        * @param  aLocation Used number's location (1-3) in shared data.
+        */
+        virtual void SwapDefaultNumberL( const TInt& aLocation ) = 0;
+        
+        /**
+        * Saves a single value to central repository. Make sure that repository
+        * is open before calling this function.
+        */
+        virtual TInt SaveKey( TUint32 aKeyId, const TDesC& aKeyValue ) = 0;
+        
+        /**
+        * Opens Vmbx connection. Leaves vmbx to the stack. 
+        * 
+        * @param aTelNumber vmbx number.
+        * @param aVmbx vmbx connection.
+        * @return used vmbx number.
+        */ 
+        virtual TInt OpenVmbxLC( TDes& aTelNumber, RVmbxNumber& aVmbx ) = 0;
+        
+        /*
+        * Virtual destructor. 
+        */ 
+        virtual ~MCallDiverting() {};
+    };
+
+#endif // MPCALLDIVERTING_H