cellular/sssettings/inc/csssettingsrefreshhandler.h
author hgs
Tue, 10 Aug 2010 13:19:41 +0300
changeset 38 bc103bfb69cf
parent 33 8d5d7fcf9b59
permissions -rw-r--r--
201031_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2004 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:  The Refresh handler to inform SAT refresses.
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
hgs
parents:
diff changeset
    20
#ifndef CSSSETTINGSREFRESHHANDLER_H
hgs
parents:
diff changeset
    21
#define CSSSETTINGSREFRESHHANDLER_H
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
//  INCLUDES
hgs
parents:
diff changeset
    25
#include <msssettingsrefreshhandler.h> 
hgs
parents:
diff changeset
    26
#include <msatrefreshobserver.h>
hgs
parents:
diff changeset
    27
#include <msssettingsrefreshobserver.h> 
hgs
parents:
diff changeset
    28
#include <rsssettings.h> 
hgs
parents:
diff changeset
    29
#include <rcustomerserviceprofilecache.h> 
hgs
parents:
diff changeset
    30
#include <rsatrefresh.h>
hgs
parents:
diff changeset
    31
#include <rsatsession.h> 
hgs
parents:
diff changeset
    32
#include <cenrepnotifyhandler.h>
hgs
parents:
diff changeset
    33
#include "csssettingsactiveobject.h" 
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
// DATA TYPES
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
// The needed functionality.
hgs
parents:
diff changeset
    38
enum TSSSettingsRefreshFunction
hgs
parents:
diff changeset
    39
    {
hgs
parents:
diff changeset
    40
    ESSSettingsAllowRefresh = 0, // AllowRefresh functionality.
hgs
parents:
diff changeset
    41
    ESSSettingsRefresh      = 1, // Refresh functionality.
hgs
parents:
diff changeset
    42
    };
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
// FORWARD DECLARATIONS
hgs
parents:
diff changeset
    46
class CSSSettingsNotifyInfo;
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
// CLASS DECLARATION
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
/**
hgs
parents:
diff changeset
    52
*  The Refresh handler to inform SAT refreshes.
hgs
parents:
diff changeset
    53
*  This class is extended for BT SAP functionality from 3.0.
hgs
parents:
diff changeset
    54
*
hgs
parents:
diff changeset
    55
*  @lib SsSettings.lib
hgs
parents:
diff changeset
    56
*  @since 2.8
hgs
parents:
diff changeset
    57
*/
hgs
parents:
diff changeset
    58
class CSSSettingsRefreshHandler :
hgs
parents:
diff changeset
    59
    public CBase,
hgs
parents:
diff changeset
    60
    public MSSSettingsRefreshHandler,
hgs
parents:
diff changeset
    61
    public MSatRefreshObserver,
hgs
parents:
diff changeset
    62
    public MSSSettingsPubSubNotify
hgs
parents:
diff changeset
    63
    {
hgs
parents:
diff changeset
    64
    public:  // Constructors and destructor
hgs
parents:
diff changeset
    65
        
hgs
parents:
diff changeset
    66
        /**
hgs
parents:
diff changeset
    67
        * Two-phased constructor.
hgs
parents:
diff changeset
    68
        */
hgs
parents:
diff changeset
    69
        static CSSSettingsRefreshHandler* NewL();
hgs
parents:
diff changeset
    70
        
hgs
parents:
diff changeset
    71
        /**
hgs
parents:
diff changeset
    72
        * Destructor.
hgs
parents:
diff changeset
    73
        */
hgs
parents:
diff changeset
    74
        virtual ~CSSSettingsRefreshHandler();
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
    public: // Functions from base classes
hgs
parents:
diff changeset
    78
hgs
parents:
diff changeset
    79
        /**
hgs
parents:
diff changeset
    80
        * @see MSSSettingsRefreshHandler::NotifyFileChangeL.
hgs
parents:
diff changeset
    81
        */
hgs
parents:
diff changeset
    82
        void NotifyFileChangeL(
hgs
parents:
diff changeset
    83
            MSSSettingsRefreshObserver& aObserver,
hgs
parents:
diff changeset
    84
            TSatElementaryFiles aObservedFiles,
hgs
parents:
diff changeset
    85
            TSatRefreshType aObservedRefreshType );
hgs
parents:
diff changeset
    86
hgs
parents:
diff changeset
    87
        /**
hgs
parents:
diff changeset
    88
        * @see MSSSettingsRefreshHandler::CancelNotify.
hgs
parents:
diff changeset
    89
        */
hgs
parents:
diff changeset
    90
        void CancelNotify();
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
        /**
hgs
parents:
diff changeset
    93
        * @see MSSSettingsRefreshHandler::ChangedCspTable.
hgs
parents:
diff changeset
    94
        */
hgs
parents:
diff changeset
    95
        TInt ChangedCspTable( 
hgs
parents:
diff changeset
    96
            TDes8& aChangedCsps,
hgs
parents:
diff changeset
    97
            TDes8& aNewValues );
hgs
parents:
diff changeset
    98
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
    public: // Functions from base classes
hgs
parents:
diff changeset
   101
hgs
parents:
diff changeset
   102
        /**
hgs
parents:
diff changeset
   103
        * @see MSatRefreshObserver::AllowRefresh
hgs
parents:
diff changeset
   104
        */
hgs
parents:
diff changeset
   105
        TBool AllowRefresh(
hgs
parents:
diff changeset
   106
            TSatRefreshType aType,
hgs
parents:
diff changeset
   107
            const TSatRefreshFiles& aFiles );
hgs
parents:
diff changeset
   108
hgs
parents:
diff changeset
   109
        /**
hgs
parents:
diff changeset
   110
        * @see MSatRefreshObserver::Refresh
hgs
parents:
diff changeset
   111
        */
hgs
parents:
diff changeset
   112
        void Refresh(
hgs
parents:
diff changeset
   113
            TSatRefreshType aType,
hgs
parents:
diff changeset
   114
            const TSatRefreshFiles& aFiles );
hgs
parents:
diff changeset
   115
            
hgs
parents:
diff changeset
   116
    public: // From base class MSSSettingsPubSubNotify
hgs
parents:
diff changeset
   117
        /**
hgs
parents:
diff changeset
   118
        * @see MSSSettingsPubSubNotify
hgs
parents:
diff changeset
   119
        */
hgs
parents:
diff changeset
   120
        void HandlePubSubNotify(
hgs
parents:
diff changeset
   121
            const TUid aUid,
hgs
parents:
diff changeset
   122
            const TUint32 aKeyId );
hgs
parents:
diff changeset
   123
hgs
parents:
diff changeset
   124
hgs
parents:
diff changeset
   125
    private:
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
        /**
hgs
parents:
diff changeset
   128
        * C++ default constructor.
hgs
parents:
diff changeset
   129
        */
hgs
parents:
diff changeset
   130
        CSSSettingsRefreshHandler();
hgs
parents:
diff changeset
   131
hgs
parents:
diff changeset
   132
        /**
hgs
parents:
diff changeset
   133
        * By default Symbian 2nd phase constructor is private.
hgs
parents:
diff changeset
   134
        */
hgs
parents:
diff changeset
   135
        void ConstructL();
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
        /**
hgs
parents:
diff changeset
   138
        * Common function for AllowRefresh and Refresh.
hgs
parents:
diff changeset
   139
        * 
hgs
parents:
diff changeset
   140
        * @param atype Refresh Type.
hgs
parents:
diff changeset
   141
        * @param aFiles Refresh Files.
hgs
parents:
diff changeset
   142
        * @param aFunctionality The functionality wanted.
hgs
parents:
diff changeset
   143
        * @return Result of functionality.
hgs
parents:
diff changeset
   144
        */
hgs
parents:
diff changeset
   145
        TBool DoHandleRefresh(
hgs
parents:
diff changeset
   146
            TSatRefreshType aType,
hgs
parents:
diff changeset
   147
            const TSatRefreshFiles& aFiles,
hgs
parents:
diff changeset
   148
            const TSSSettingsRefreshFunction aFunctionality );
hgs
parents:
diff changeset
   149
hgs
parents:
diff changeset
   150
    private:    // Data
hgs
parents:
diff changeset
   151
         
hgs
parents:
diff changeset
   152
        // Container for notify observer.
hgs
parents:
diff changeset
   153
        CSSSettingsNotifyInfo*        iNotifyInfo;
hgs
parents:
diff changeset
   154
hgs
parents:
diff changeset
   155
        // The RSSSettings handle.
hgs
parents:
diff changeset
   156
        RSSSettings                   iRSSSettings;
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
        // The RCustomerServiceProfileCache handle.
hgs
parents:
diff changeset
   159
        RCustomerServiceProfileCache  iRCspCache;
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
        // The RSatRefresh handle.
hgs
parents:
diff changeset
   162
        RSatRefresh*                  iRSatRefresh;
hgs
parents:
diff changeset
   163
hgs
parents:
diff changeset
   164
        // The RSatSession handle.
hgs
parents:
diff changeset
   165
        RSatSession                   iRSatSession;
hgs
parents:
diff changeset
   166
        
hgs
parents:
diff changeset
   167
        // Notifier for BT SAP support.
hgs
parents:
diff changeset
   168
        CSSSettingsActiveObject*      iBtSapNotifier;
hgs
parents:
diff changeset
   169
hgs
parents:
diff changeset
   170
    };
hgs
parents:
diff changeset
   171
hgs
parents:
diff changeset
   172
#endif      // CSSSETTINGSREFRESHHANDLER_H  
hgs
parents:
diff changeset
   173
            
hgs
parents:
diff changeset
   174
// End of File