phonesrv_plat/sat_refresh_api/inc/MSatRefreshObserver.h
changeset 46 2fa1fa551b0b
parent 42 35488577e233
child 48 78df25012fda
equal deleted inserted replaced
42:35488577e233 46:2fa1fa551b0b
     1 /*
       
     2 * Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Observer for refresh events.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef MSATREFRESHOBSERVER_H
       
    21 #define MSATREFRESHOBSERVER_H
       
    22 
       
    23 //  INCLUDES
       
    24 #include <e32std.h>
       
    25 #include <etelsat.h>
       
    26 
       
    27 // DATA TYPES
       
    28 enum TSatElementaryFiles
       
    29     {
       
    30     KUnknownEf          = RSat::KUnknownEf,     // Unknown EF type
       
    31     KDirEf              = RSat::KDirEf,         // Application directory EF
       
    32     KElpEf              = RSat::KElpEf,         // Extended Language Preference
       
    33                                                 // EF
       
    34     KArrEf              = RSat::KArrEf,         // Access Rule Reference EF at
       
    35                                                 // the MF level.
       
    36     KImgEf              = RSat::KImgEf,         // Image EF
       
    37     KPscEf              = RSat::KPscEf,         // Phonebook synchronisation
       
    38                                                 // counter EF
       
    39     KCcEf               = RSat::KCcEf,          // Change counter EF
       
    40     KPuidEf             = RSat::KPuidEf,        // Previous unique identifier
       
    41                                                 // EF
       
    42     KPbr                = RSat::KPbr,           // Phonebook reference file EF
       
    43     KSllEf              = RSat::KSllEf,         // SoLSA LSA List EF
       
    44     KInvScan            = RSat::KInvScan,       // Investigation File EF
       
    45     KImpiEf             = RSat::KImpiEf,        // IMS private user identity EF
       
    46     KImpuEf             = RSat::KImpuEf,        // IMS public user identity EF
       
    47     KDomainEf           = RSat::KDomainEf,      // Home Network Domain Name EF
       
    48     KLpEf               = RSat::KLpEf,          // Language Preference EF
       
    49     KArradEf            = RSat::KArradEf,       // Access rule reference (under
       
    50                                                 // ADFUSIM and DFTELECOM) EF
       
    51     KImsiEf             = RSat::KImsiEf,        // IMSI EF
       
    52     KCsp1Ef             = RSat::KCsp1Ef,        // CSP 1 EF (7F20/21 6F15)
       
    53     KDckEf              = RSat::KDckEf,         // De-personalization Control
       
    54                                                 // Keys EF
       
    55     KPlmnSelEf          = RSat::KPlmnSelEf,     // PLMN Selection EF
       
    56     KHplmnEf            = RSat::KHplmnEf,       // Home PLMN EF
       
    57     KCnlEf              = RSat::KCnlEf,         // Co-operative Network List EF
       
    58     KAcmMaxEf           = RSat::KAcmMaxEf,      // ACM max value EF
       
    59     KSstEf              = RSat::KSstEf,         // SIM Service Table EF
       
    60     KAcmEf              = RSat::KAcmEf,         // Accumulated Call Meter EF
       
    61     KAdnEf              = RSat::KAdnEf,         // Abbreviated Dialling Numbers
       
    62                                                 // EF
       
    63     KFdnEf              = RSat::KFdnEf,         // Fixed Diallind Numbers EF
       
    64     KSmsEf              = RSat::KSmsEf,         // Short Messages EF
       
    65     KCcpEf              = RSat::KCcpEf,         // Capability Configuration
       
    66                                                 // Parameters EF
       
    67     KGid1Ef             = RSat::KGid1Ef,        // Group Identifier Level 1 EF
       
    68     KGid2Ef             = RSat::KGid2Ef,        // Group Identifier Level 2 EF
       
    69     KMsisdnEf           = RSat::KMsisdnEf,      // MS ISDN EF
       
    70     KPuctEf             = RSat::KPuctEf,        // Price per Unit and Currency
       
    71                                                 // Table EF
       
    72     KSmspEf             = RSat::KSmspEf,        // SMS Parameters EF
       
    73     KSmssEf             = RSat::KSmssEf,        // SMS Status EF
       
    74     KLndEf              = RSat::KLndEf,         // Last Number Dialled EF
       
    75     KCbmiEf             = RSat::KCbmiEf,        // Cell Broadcast Message
       
    76                                                 // Identifier
       
    77     KSpnEf              = RSat::KSpnEf,         // Service Provider Name EF
       
    78     KSmsrEf             = RSat::KSmsrEf,        // SMS reports EF
       
    79     KCbmidEf            = RSat::KCbmidEf,       // CBMI for Data Download EF
       
    80     KSdnEf              = RSat::KSdnEf,         // Service Dialling Numbers EF
       
    81     KExt1Ef             = RSat::KExt1Ef,        // Extension 1 EF
       
    82     KExt2Ef             = RSat::KExt2Ef,        // Extension 2 EF
       
    83     KExt3Ef             = RSat::KExt3Ef,        // Extension 3 EF
       
    84     KBdnEf              = RSat::KBdnEf,         // Barred Dialling Numbers EF
       
    85     KExt5Ef             = RSat::KExt5Ef,        // Extension 5 EF
       
    86     KCcp2Ef             = RSat::KCcp2Ef,        // Capability configuration
       
    87                                                 // parameters 2 EF
       
    88     KCbmirEf            = RSat::KCbmirEf,       // CBMI Range Selection EF
       
    89     KNiaEf              = RSat::KNiaEf,         // Network's Indication of
       
    90                                                 // Alerting EF
       
    91     KLociGprsEf         = RSat::KLociGprsEf,    // GPRS Location Information EF
       
    92     KSumeEf             = RSat::KSumeEf,        // SetUpMenu Elements EF
       
    93     KExt4Ef             = RSat::KExt4Ef,        // Extension 4 EF
       
    94     KEstEf              = RSat::KEstEf,         // Enabled services table EF
       
    95     KAclEf              = RSat::KAclEf,         // Access point name control
       
    96                                                 // list EF
       
    97     KCmiEf              = RSat::KCmiEf,         // Comparison method
       
    98                                                 // information EF
       
    99     KStartHfnEf         = RSat::KStartHfnEf,    // Initialisation value for
       
   100                                                 // Hyperframe number EF
       
   101     KThresholdEf        = RSat::KThresholdEf,   // Maximum value of START EF
       
   102     KOPlmnwAcTEf        = RSat::KOPlmnwAcTEf,   // Operator controlled PLMN
       
   103                                                 // selector with Access
       
   104                                                 // Technology EF
       
   105     KHPlmnwAcTEf        = RSat::KHPlmnwAcTEf,   // HPLMN selector with Access
       
   106                                                 // Technology EF
       
   107     KRplmnActEf         = RSat::KRplmnActEf,    // RPLMN Last used Access
       
   108                                                 // Technology EF
       
   109     KPsLociEf           = RSat::KPsLociEf,      // Packet switched location
       
   110                                                 // information EF
       
   111     KAccEf              = RSat::KAccEf,         // Access Control Class EF
       
   112     KFPlmnEf            = RSat::KFPlmnEf,       // Forbidden PLMN EF
       
   113     KIciEf              = RSat::KIciEf,         // Incoming call information EF
       
   114     KOciEf              = RSat::KOciEf,         // Outgoing call information EF
       
   115     KIctEf              = RSat::KIctEf,         // Incoming call timer EF
       
   116     KOctEf              = RSat::KOctEf,         // Outgoing call timer EF
       
   117     KCsp2Ef             = RSat::KCsp2Ef,        // CSP 2 EF (7F40 6F98)
       
   118     KAdEf               = RSat::KAdEf,          // Administrative Data EF
       
   119     KPhaseEf            = RSat::KPhaseEf,       // Phase Identification EF
       
   120     KVcgsEf             = RSat::KVcgsEf,        // Voice Group Call Service EF
       
   121     KVgcssEf            = RSat::KVgcssEf,       // Voice Group Call Service
       
   122                                                 // Status EF
       
   123     KVbsEf              = RSat::KVbsEf,         // Voice Broadcast Service EF
       
   124     KVbssEf             = RSat::KVbssEf,        // Voice Broadcast Service
       
   125                                                 // Status EF
       
   126     KeMlppEf            = RSat::KeMlppEf,       // enhanced Multi Level
       
   127                                                 // Pre-emption and Priority EF
       
   128     KAaemef             = RSat::KAaemef,        // Automatic Answer for eMLLP
       
   129                                                 // Service EF
       
   130     KEccEf              = RSat::KEccEf,         // Emergency Call Codes EF
       
   131     KGmsi               = RSat::KGmsi,          // Group Identity EF
       
   132     KHiddenKeyEf        = RSat::KHiddenKeyEf,   // Key for hidden phone book
       
   133                                                 // entries EF
       
   134     KPnnEf              = RSat::KPnnEf,         // PLMN Network Name EF
       
   135     KOplEf              = RSat::KOplEf,         // Operator Network List EF
       
   136     KMbdnEf             = RSat::KMbdnEf,        // Mailbox Dialling Numbers EF
       
   137     KExt6Ef             = RSat::KExt6Ef,        // Extension 6 EF
       
   138     KMbiEf              = RSat::KMbiEf,         // Mailbox Identifier EF
       
   139     KMwisEf             = RSat::KMwisEf,        // Message Waiting Indication
       
   140                                                 // Status EF
       
   141     KCfisEf             = RSat::KCfisEf,        // Call Forwarding Indication
       
   142                                                 // Status EF
       
   143     KExt7Ef             = RSat::KExt7Ef,        // Extension 7 EF
       
   144     KSpdiEf             = RSat::KSpdiEf,        // Service provider display
       
   145                                                 // information EF
       
   146     KMmsnEF             = RSat::KMmsnEF,        // MMS notification EF
       
   147     KExt8Ef             = RSat::KExt8Ef,        // Extension 8 EF
       
   148     KMmsicpEf           = RSat::KMmsicpEf,      // MMS issuer connectivity
       
   149                                                 // parameters EF
       
   150     KMmsupEf            = RSat::KMmsupEf,       // MMS user preferences EF
       
   151     KMmsucpEf           = RSat::KMmsucpEf,      // MMS user connectivity
       
   152     KNiaRel5Ef          = RSat::KNiaRel5Ef,     // Network's Indication of Alerting EF (from Rel 5 onwards)
       
   153                                                 // parameters EF
       
   154     KCspEf              = 0xffff                // CSP (Not yet defined in ETel
       
   155                                                 // SAT API)
       
   156     };
       
   157 
       
   158 typedef TBuf16<242> TSatRefreshFiles;
       
   159 
       
   160 // Refresh types.
       
   161 enum TSatRefreshType
       
   162     {
       
   163     ERefreshTypeNotSet,
       
   164     ESimInitFullFileChangeNotification,
       
   165     EFileChangeNotification,
       
   166     ESimInitFileChangeNotification,
       
   167     ESimInit,
       
   168     ESimReset,
       
   169     EUsimApplicationReset,
       
   170     E3GSessionReset
       
   171     };
       
   172 
       
   173 // CLASS DECLARATION
       
   174 
       
   175 /**
       
   176 *  Observer for refresh events. Client must not call any RSatRefresh
       
   177 *  methods from the observer methods.
       
   178 *
       
   179 *  @lib SatClient
       
   180 *  @since 2.6
       
   181 */
       
   182 class MSatRefreshObserver
       
   183     {
       
   184     protected:
       
   185 
       
   186         /**
       
   187         * C++ constructor.
       
   188         */
       
   189         MSatRefreshObserver() {};
       
   190 
       
   191         /**
       
   192         * Destructor.
       
   193         */
       
   194         virtual ~MSatRefreshObserver() {};
       
   195 
       
   196     public: // New functions
       
   197 
       
   198         /**
       
   199         * Refresh query. Client should determine whether it allow the
       
   200         * refresh to happen.
       
   201         * @since 2.6
       
   202         * @param aType Refresh type.
       
   203         * @param aFiles Elementary files which are to be changed.
       
   204         * May be zero length.
       
   205         * @return ETrue to allow refresh, EFalse to decline refresh.
       
   206         */
       
   207         virtual TBool AllowRefresh(
       
   208             TSatRefreshType aType, const TSatRefreshFiles& aFiles ) = 0;
       
   209 
       
   210          /**
       
   211         * Notification of refresh.
       
   212         * @since 2.6
       
   213         * @param aType Type of refresh which has happened.
       
   214         * @param aFiles List of elementary files which has been changed.
       
   215         * May be zero length.
       
   216         */
       
   217         virtual void Refresh(
       
   218             TSatRefreshType aType, const TSatRefreshFiles& aFiles ) = 0;
       
   219 
       
   220     private:
       
   221 
       
   222         // Prohibit copy constructor if not deriving from CBase.
       
   223         MSatRefreshObserver( const MSatRefreshObserver& );
       
   224 
       
   225         // Prohibit assigment operator if not deriving from CBase.
       
   226         MSatRefreshObserver& operator=( const MSatRefreshObserver& );
       
   227 
       
   228     };
       
   229 
       
   230 #endif      // MSATREFRESHOBSERVER_H
       
   231 
       
   232 // End of File