cellular/telephonysettings/inc/mcalldiverting.h
author hgs
Mon, 23 Aug 2010 15:50:31 +0300
changeset 42 35488577e233
parent 33 8d5d7fcf9b59
permissions -rw-r--r--
201033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description: Declaration of MCallDiverting interface class.
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#ifndef     MCALLDIVERTING_H
hgs
parents:
diff changeset
    20
#define     MCALLDIVERTING_H
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
/**
hgs
parents:
diff changeset
    23
 *  MCallDiverting class is virtual interface class for divert 
hgs
parents:
diff changeset
    24
 *  functionality.
hgs
parents:
diff changeset
    25
 *
hgs
parents:
diff changeset
    26
 *  @lib phonesettings
hgs
parents:
diff changeset
    27
 *  @since S60 v5.1
hgs
parents:
diff changeset
    28
 */
hgs
parents:
diff changeset
    29
class MCallDiverting
hgs
parents:
diff changeset
    30
    {
hgs
parents:
diff changeset
    31
    public:
hgs
parents:
diff changeset
    32
        /**
hgs
parents:
diff changeset
    33
         * Sets observer which informs when request is completed
hgs
parents:
diff changeset
    34
         */
hgs
parents:
diff changeset
    35
        virtual void SetRequestObserver( MPsetRequestObserver* aObs ) = 0;
hgs
parents:
diff changeset
    36
    
hgs
parents:
diff changeset
    37
        /**
hgs
parents:
diff changeset
    38
        * Sets diverting to the network.
hgs
parents:
diff changeset
    39
        * 
hgs
parents:
diff changeset
    40
        * @param aDivert New divert settings.
hgs
parents:
diff changeset
    41
        * @param aBsc List of basic service groups .
hgs
parents:
diff changeset
    42
        */
hgs
parents:
diff changeset
    43
        virtual void SetDivertingL( const TCallDivertSetting& aDivert,  
hgs
parents:
diff changeset
    44
                                    TBasicServiceGroups aBsc ) = 0;
hgs
parents:
diff changeset
    45
        /**
hgs
parents:
diff changeset
    46
        * Checks the diverting status from network.
hgs
parents:
diff changeset
    47
        * 
hgs
parents:
diff changeset
    48
        * @param aServiceGroup Service group indication.
hgs
parents:
diff changeset
    49
        * @param aCondition Diverting conditions.
hgs
parents:
diff changeset
    50
        * @param aBsc List of basic service groups.
hgs
parents:
diff changeset
    51
        */
hgs
parents:
diff changeset
    52
        virtual void GetDivertingStatusL( 
hgs
parents:
diff changeset
    53
                                    const TServiceGroup aServiceGroup, 
hgs
parents:
diff changeset
    54
                                    const TCallDivertingCondition aCondition, 
hgs
parents:
diff changeset
    55
                                    TBasicServiceGroups aBsc ) = 0;
hgs
parents:
diff changeset
    56
        /**
hgs
parents:
diff changeset
    57
        * Cancels current request.
hgs
parents:
diff changeset
    58
        * 
hgs
parents:
diff changeset
    59
        * @return Returns error code.
hgs
parents:
diff changeset
    60
        */
hgs
parents:
diff changeset
    61
        virtual TInt CancelCurrentRequest() = 0;
hgs
parents:
diff changeset
    62
        
hgs
parents:
diff changeset
    63
        /**
hgs
parents:
diff changeset
    64
        *  Reads used divert numbers (0-3) from central repository
hgs
parents:
diff changeset
    65
        *  and fills array with them.
hgs
parents:
diff changeset
    66
        *
hgs
parents:
diff changeset
    67
        *  @param aType used line.
hgs
parents:
diff changeset
    68
        *  @param aArray array of divert number.
hgs
parents:
diff changeset
    69
        *  @return amount of numbers.
hgs
parents:
diff changeset
    70
        */
hgs
parents:
diff changeset
    71
        virtual TInt GetNumbersFromSharedDataL( 
hgs
parents:
diff changeset
    72
                                    TInt aType, 
hgs
parents:
diff changeset
    73
                                    CDesC16ArrayFlat& aArray ) = 0;
hgs
parents:
diff changeset
    74
        /**
hgs
parents:
diff changeset
    75
        * Sets new default number the the default numbers list, 
hgs
parents:
diff changeset
    76
        * erases the oldest one.
hgs
parents:
diff changeset
    77
        * 
hgs
parents:
diff changeset
    78
        * @param aNumber phone number. 
hgs
parents:
diff changeset
    79
        * @return Returns error code.
hgs
parents:
diff changeset
    80
        */
hgs
parents:
diff changeset
    81
        virtual TInt SetNewDefaultNumberL( TDes& aNumber ) = 0;
hgs
parents:
diff changeset
    82
        
hgs
parents:
diff changeset
    83
        /**
hgs
parents:
diff changeset
    84
        *  Gets the default time for CF No Reply.
hgs
parents:
diff changeset
    85
        *  No error checking for return values which should be
hgs
parents:
diff changeset
    86
        *  5-30, in steps of 5.
hgs
parents:
diff changeset
    87
        *
hgs
parents:
diff changeset
    88
        * @return Returns the current timer value.
hgs
parents:
diff changeset
    89
        */
hgs
parents:
diff changeset
    90
        virtual TInt GetTimerValueL() = 0;
hgs
parents:
diff changeset
    91
        
hgs
parents:
diff changeset
    92
        /*
hgs
parents:
diff changeset
    93
        *  Sets the default time for CF No Reply.
hgs
parents:
diff changeset
    94
        *  No error checking to parameters, which should be on range 5-30,
hgs
parents:
diff changeset
    95
        *  using steps of 5.
hgs
parents:
diff changeset
    96
        *
hgs
parents:
diff changeset
    97
        *  @param aIndex New value for timer.
hgs
parents:
diff changeset
    98
        *  @return Returns error code.
hgs
parents:
diff changeset
    99
        */
hgs
parents:
diff changeset
   100
        virtual TInt SetTimerValueL( const TInt& aValue ) = 0;
hgs
parents:
diff changeset
   101
        
hgs
parents:
diff changeset
   102
        /**
hgs
parents:
diff changeset
   103
        * Swaps the most recently used number to first in shared data file.
hgs
parents:
diff changeset
   104
        *
hgs
parents:
diff changeset
   105
        * @param  aLocation Used number's location (1-3) in shared data.
hgs
parents:
diff changeset
   106
        */
hgs
parents:
diff changeset
   107
        virtual void SwapDefaultNumberL( const TInt& aLocation ) = 0;
hgs
parents:
diff changeset
   108
        
hgs
parents:
diff changeset
   109
        /**
hgs
parents:
diff changeset
   110
        * Saves a single value to central repository. Make sure that repository
hgs
parents:
diff changeset
   111
        * is open before calling this function.
hgs
parents:
diff changeset
   112
        */
hgs
parents:
diff changeset
   113
        virtual TInt SaveKey( TUint32 aKeyId, const TDesC& aKeyValue ) = 0;
hgs
parents:
diff changeset
   114
        
hgs
parents:
diff changeset
   115
        /*
hgs
parents:
diff changeset
   116
        * Virtual destructor. 
hgs
parents:
diff changeset
   117
        */ 
hgs
parents:
diff changeset
   118
        virtual ~MCallDiverting() {};
hgs
parents:
diff changeset
   119
    };
hgs
parents:
diff changeset
   120
hgs
parents:
diff changeset
   121
#endif // MPCALLDIVERTING_H