--- /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