|
1 /* |
|
2 * Copyright (c) 2007-2008 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 the License "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: |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 |
|
20 #ifndef CMMMESSAGEROUTER_H |
|
21 #define CMMMESSAGEROUTER_H |
|
22 |
|
23 // INCLUDES |
|
24 |
|
25 //NCP_COMMON_S60_VERSION_SUPPORT flag. |
|
26 #if ( NCP_COMMON_S60_VERSION_SUPPORT == S60_VERSION_32 ) |
|
27 #include <cmmmessagerouterbase.h> |
|
28 #else |
|
29 #include <ctsy/pluginapi/mmessagerouter.h> |
|
30 #include <ctsy/pluginapi/mmmessagemanagercallback.h> |
|
31 #endif // NCP_COMMON_S60_VERSION_SUPPORT |
|
32 |
|
33 #include <iscapi.h> |
|
34 #include "mmmmesshandlerbase.h" |
|
35 |
|
36 // CONSTANTS |
|
37 //None |
|
38 |
|
39 // MACROS |
|
40 //None |
|
41 |
|
42 // DATA TYPES |
|
43 //None |
|
44 |
|
45 // FUNCTION PROTOTYPES |
|
46 //None |
|
47 |
|
48 // FORWARD DECLARATIONS |
|
49 class CMmCallMessHandler; |
|
50 class CMmPhoNetSender; |
|
51 class CMmPhoNetReceiver; |
|
52 class CMmCallMessHandler; |
|
53 class CMmConferenceCallMessHandler; |
|
54 class CMmDtmfMessHandler; |
|
55 class CMmNetMessHandler; |
|
56 class CMmNetOperatorNameHandler; |
|
57 class CMmSupplServMessHandler; |
|
58 class CMmPhoneBookStoreMessHandler; |
|
59 class CMmPacketServiceMessHandler; |
|
60 class CMmPacketContextMessHandler; |
|
61 class CMmPacketQoSMessHandler; |
|
62 class CMmCustomMessHandler; |
|
63 class CMmBroadMessHandler; |
|
64 class CMmUssdMessHandler; |
|
65 class CMmSmsMessHandler; |
|
66 class CMmSecurityMessHandler; |
|
67 class CMmPhoneMessHandler; |
|
68 // Temporarily removed for bridge camp! |
|
69 //class CTsySatMessagingBase; |
|
70 class CMmUiccMessHandler; |
|
71 |
|
72 #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32) |
|
73 class CMmMessageManager; |
|
74 #endif |
|
75 |
|
76 // CLASS DECLARATION |
|
77 |
|
78 /** |
|
79 * Routes between Tsy objects and Message Handler objects |
|
80 */ |
|
81 class CMmMessageRouter : |
|
82 #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32) |
|
83 public CMmMessageRouterBase |
|
84 #else |
|
85 public CBase, public MMessageRouter |
|
86 #endif // NCP_COMMON_S60_VERSION_SUPPORT |
|
87 { |
|
88 |
|
89 // public methods |
|
90 public: |
|
91 |
|
92 /** |
|
93 * Creates a new CMmMessageRouter object |
|
94 * @return reference to created CMmMessageRouter type of object |
|
95 */ |
|
96 IMPORT_C static CMmMessageRouter* NewL( |
|
97 #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32) |
|
98 CMmMessageManager* aMessageManager ); |
|
99 #else |
|
100 MmMessageManagerCallback* aMessageManager ); |
|
101 #endif // NCP_COMMON_S60_VERSION_SUPPORT |
|
102 |
|
103 /** |
|
104 * Destructor |
|
105 */ |
|
106 virtual ~CMmMessageRouter(); |
|
107 |
|
108 /** |
|
109 * Creates and initialises class attributes |
|
110 */ |
|
111 #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32) |
|
112 void ConstructL( CMmMessageManager* aMessageManager ); |
|
113 #else |
|
114 void ConstructL( MmMessageManagerCallback* aMessageManager ); |
|
115 #endif // NCP_COMMON_S60_VERSION_SUPPORT |
|
116 |
|
117 /** |
|
118 * Completes a request or a notification with no data |
|
119 * @param aIpc |
|
120 * @param aResult |
|
121 */ |
|
122 void Complete( TInt aIpc, TInt aResult ); |
|
123 |
|
124 /** |
|
125 * Completes a request or a notification with packaged data |
|
126 * @param aIpc |
|
127 * @param aData |
|
128 * @param aResult |
|
129 */ |
|
130 void Complete( TInt aIpc, CMmDataPackage* aData, TInt aResult ); |
|
131 |
|
132 /** |
|
133 * Returns pointer to the message handler for this |
|
134 * request, based on IPC number |
|
135 */ |
|
136 MMmMessHandlerBase* RouteRequest( TInt aIpc ); |
|
137 |
|
138 /** |
|
139 * From MMessageRouter. Passes request to the correct message |
|
140 * handler |
|
141 * @param TInt aIpc: number of the request |
|
142 * @param CMmDataPackage* aDataPackage: pointer to data package |
|
143 * @return TInt KErrNone or error code |
|
144 */ |
|
145 TInt ExtFuncL( TInt aIpc, const CMmDataPackage* aDataPackage ); |
|
146 |
|
147 /** |
|
148 * Returns pointer to Phonet sender |
|
149 */ |
|
150 IMPORT_C CMmPhoNetSender* GetPhoNetSender(); |
|
151 |
|
152 /** |
|
153 * Returns pointer to Phonet receiver |
|
154 */ |
|
155 IMPORT_C CMmPhoNetReceiver* GetPhoNetReceiver(); |
|
156 |
|
157 /** |
|
158 * Returns pointer to call message handler |
|
159 */ |
|
160 CMmCallMessHandler* GetCallMessHandler(); |
|
161 |
|
162 /** |
|
163 * Returns pointer to GSM-specific Phone message handler |
|
164 */ |
|
165 CMmPhoneMessHandler* GetPhoneMessHandler(); |
|
166 |
|
167 /** |
|
168 * Returns pointer to Packet Service Message handler |
|
169 */ |
|
170 CMmPacketServiceMessHandler* GetPacketServiceMessHandler(); |
|
171 |
|
172 /** |
|
173 * Returns pointer to GSM-specific Custom API Message handler |
|
174 */ |
|
175 CMmCustomMessHandler* GetCustomMessHandler(); |
|
176 |
|
177 /** |
|
178 * Returns pointer to SMS message handler |
|
179 */ |
|
180 CMmSmsMessHandler* GetSmsMessHandler(); |
|
181 |
|
182 /** |
|
183 * Returns pointer to SS message handler |
|
184 */ |
|
185 CMmSupplServMessHandler* GetSupplServHandler(); |
|
186 |
|
187 /** |
|
188 * Returns pointer to phonebookstore message handler |
|
189 */ |
|
190 CMmPhoneBookStoreMessHandler* PhoneBookStoreMessHandler(); |
|
191 |
|
192 /** |
|
193 * Returns pointer to NET message handler |
|
194 */ |
|
195 CMmNetMessHandler* GetNetMessHandler(); |
|
196 |
|
197 // protected methods |
|
198 protected: |
|
199 |
|
200 // private methods |
|
201 private: |
|
202 |
|
203 /** |
|
204 * Default constructor |
|
205 */ |
|
206 CMmMessageRouter(); |
|
207 |
|
208 // public attributes |
|
209 public: |
|
210 |
|
211 // pointer to SAT Messaging |
|
212 // Temporarily removed for bridge camp! |
|
213 //CTsySatMessagingBase* iSatMessaging; |
|
214 |
|
215 // protected attributes |
|
216 protected: |
|
217 |
|
218 #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32) |
|
219 // pointer to message manager |
|
220 CMmMessageManager* iMessageManager; |
|
221 #else |
|
222 MmMessageManagerCallback* iMessageManager; |
|
223 #endif //NCP_COMMON_S60_VERSION_SUPPORT |
|
224 |
|
225 // pointer to GSM-specific Phone message handler |
|
226 CMmPhoneMessHandler* iMmPhoneMessHandler; |
|
227 |
|
228 // pointer to Call message handler |
|
229 CMmCallMessHandler* iMmCallMessHandler; |
|
230 |
|
231 // pointer to Conference Call message handler |
|
232 CMmConferenceCallMessHandler* iMmConferenceCallMessHandler; |
|
233 |
|
234 // pointer to Dtmf message handler |
|
235 CMmDtmfMessHandler* iMmDtmfMessHandler; |
|
236 |
|
237 // pointer to Net message handler |
|
238 CMmNetMessHandler* iMmNetMessHandler; |
|
239 |
|
240 // pointer to USSD message handler |
|
241 CMmUssdMessHandler* iMmUssdMessHandler; |
|
242 |
|
243 // pointer to Supplementary Services message handler |
|
244 CMmSupplServMessHandler* iMmSupplServMessHandler; |
|
245 |
|
246 // pointer to PhoneBook store message handler |
|
247 CMmPhoneBookStoreMessHandler* iMmPhoneBookStoreMessHandler; |
|
248 |
|
249 // pointer to Phonet/ISA interface |
|
250 RIscApi iPhoNet; |
|
251 |
|
252 // pointer to Phonet sender |
|
253 CMmPhoNetSender* iPhoNetSender; |
|
254 |
|
255 // pointer to Phonet receiver |
|
256 CMmPhoNetReceiver* iPhoNetReceiver; |
|
257 |
|
258 // pointer to Packet Service Message handler |
|
259 CMmPacketServiceMessHandler* iMmPacketServiceMessHandler; |
|
260 |
|
261 // pointer to Packet Context Message handler |
|
262 CMmPacketContextMessHandler* iMmPacketContextMessHandler; |
|
263 |
|
264 // pointer to Packet QoS Message handler |
|
265 CMmPacketQoSMessHandler* iMmPacketQoSMessHandler; |
|
266 |
|
267 // pointer to Custom Tsy GSM extension Message handler |
|
268 CMmCustomMessHandler* iMmCustomMessHandler; |
|
269 |
|
270 //pointer to the Broadcast messagehandler |
|
271 CMmBroadMessHandler* iMmBroadMessHandler; |
|
272 |
|
273 //pointer to the SMS message handler |
|
274 CMmSmsMessHandler* iMmSmsMessHandler; |
|
275 |
|
276 //pointer to security message handler |
|
277 CMmSecurityMessHandler* iMmSecurityMessHandler; |
|
278 |
|
279 // Pointer to UICC message handler |
|
280 CMmUiccMessHandler* iMmUiccMessHandler; |
|
281 |
|
282 // private attributes |
|
283 private: |
|
284 |
|
285 }; |
|
286 |
|
287 #endif // CMMMESSAGEROUTER_H |
|
288 |
|
289 // End of file |