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