1 /* |
|
2 * Copyright (c) 2002-2009 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: Capability service controller |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 #ifndef _CAPABILITY_H_ |
|
20 #define _CAPABILITY_H_ |
|
21 |
|
22 #include <e32std.h> |
|
23 |
|
24 // |
|
25 // string sizes |
|
26 // |
|
27 const TInt KBufSize(128); |
|
28 const TInt KTagSize(64); |
|
29 const TInt KMaxSize(512); |
|
30 |
|
31 const TInt KNestingLimit(10); |
|
32 |
|
33 // |
|
34 // this directory contains xml-format files for |
|
35 // Service-elements |
|
36 // |
|
37 _LIT(KCapabilityDirC, "c:\\private\\101F99F6\\capability\\"); |
|
38 _LIT(KCapabilityDirCImport, "c:\\private\\101F99F6\\import\\"); |
|
39 _LIT(KCapabilityDirZ, "z:\\private\\101F99F6\\capability\\"); |
|
40 |
|
41 // |
|
42 // folder service constants |
|
43 // |
|
44 _LIT(KFolderServiceName, "Folder-Browsing"); |
|
45 _LIT(KFolderServiceUid, "F9EC7BC4-953c-11d2-984E-525400DC9E09"); |
|
46 _LIT(KFolderServiceVersion, "1.0"); |
|
47 _LIT(KFolderServiceType, "x-obex/folder-listing"); |
|
48 _LIT(KFolderMemoryTypeTag, "MemType"); |
|
49 _LIT(KFolderNameTag, "Folder"); |
|
50 |
|
51 _LIT(KFolderImages, "Images"); |
|
52 _LIT(KFolderGraphics, "Graphics"); |
|
53 _LIT(KFolderTones, "Tones"); |
|
54 _LIT(KFolderMusic, "Music"); |
|
55 _LIT(KFolderVideos, "Videos"); |
|
56 _LIT(KFolderInstalls, "Installs"); |
|
57 |
|
58 _LIT( KSyncSolutionsServiceName, "SyncSolutions" ); |
|
59 _LIT( KSyncSolutionsServiceVersion, "1.0" ); |
|
60 _LIT( KSyncCalendar, "Calendar" ); |
|
61 _LIT( KSyncContacts, "Contacts" ); |
|
62 _LIT( KSyncSms, "Sms" ); |
|
63 _LIT( KSyncBookmark, "Bookmark" ); |
|
64 |
|
65 _LIT( KDesktopSync, "DesktopSync" ); |
|
66 |
|
67 enum TFolderTypes |
|
68 { |
|
69 EFolderImages, |
|
70 EFolderGraphics, |
|
71 EFolderTones, |
|
72 EFolderMusic, |
|
73 EFolderVideos, |
|
74 EFolderInstalls |
|
75 }; |
|
76 |
|
77 |
|
78 // |
|
79 // misc capabily document strings |
|
80 // |
|
81 _LIT(KServiceHeader, "<!-- Capability Object Service -->"); |
|
82 _LIT(KXmlVersion, "<?xml version=\"1.0\" ?>"); |
|
83 _LIT(KComment1, "<!-- OBEX Capability Object -->"); |
|
84 _LIT(KDocType, "<!DOCTYPE Capability SYSTEM \"obex-capability.dtd\">"); |
|
85 _LIT(KRootBegin, "<Capability Version=\"1.0\">"); |
|
86 _LIT(KRootEnd, "</Capability>"); |
|
87 _LIT(KCommentBegin, "<!--"); |
|
88 _LIT(KCommentEnd, "-->"); |
|
89 _LIT(KFormatText, " "); |
|
90 _LIT(KXmlExtension, ".xml"); |
|
91 |
|
92 |
|
93 // |
|
94 // manufacturers |
|
95 // |
|
96 _LIT(KManufacturerNokia, "Nokia"); |
|
97 _LIT(KManufacturerEricsson, "Ericsson"); |
|
98 _LIT(KManufacturerMotorola, "Motorola"); |
|
99 _LIT(KManufacturerPanasonic, "Panasonic"); |
|
100 _LIT(KManufacturerPsion, "Psion"); |
|
101 _LIT(KManufacturerIntel, "Intel"); |
|
102 _LIT(KManufacturerCogent, "Cogent"); |
|
103 _LIT(KManufacturerCirrus, "Cirrus"); |
|
104 _LIT(KManufacturerLinkup, "Linkup"); |
|
105 _LIT(KManufacturerTexasInstruments, "TexasInstruments"); |
|
106 |
|
107 |
|
108 // |
|
109 // media types (TMediaType in e32std.h) |
|
110 // |
|
111 _LIT(KMediaMMC, "MMC"); // memory card |
|
112 _LIT(KMediaFlash, "DEV"); // device memory |
|
113 |
|
114 // |
|
115 // TElementType contains all element types used in |
|
116 // capabilty xml document |
|
117 // |
|
118 // |
|
119 enum TElementType |
|
120 { |
|
121 ECapability, |
|
122 EGeneral, |
|
123 EManufacturer, |
|
124 EModel, |
|
125 ESN, |
|
126 EOEM, |
|
127 ESW, |
|
128 EFW, |
|
129 EHW, |
|
130 ELanguage, |
|
131 EMemory, |
|
132 EMemType, |
|
133 ELocation, |
|
134 EFree, |
|
135 EUsed, |
|
136 EShared, |
|
137 EFileSize, |
|
138 EFolderSize, |
|
139 EFileNLen, |
|
140 EFolderNLen, |
|
141 ECaseSenN, |
|
142 |
|
143 EExt, |
|
144 EXNam, |
|
145 EXVal, |
|
146 |
|
147 EObject, |
|
148 EType, |
|
149 EName_Ext, |
|
150 ESize, |
|
151 |
|
152 EAccess, |
|
153 EProtocol, |
|
154 EEndpoint, |
|
155 ETarget, |
|
156 |
|
157 EInbox, |
|
158 EService, |
|
159 EName, |
|
160 EUUID, |
|
161 EVersion, |
|
162 |
|
163 EAttVersion, |
|
164 EAttDate, |
|
165 |
|
166 EAttCurrentNetwork, |
|
167 EAttHomeNetwork, |
|
168 EAttCountryCode |
|
169 }; |
|
170 |
|
171 |
|
172 |
|
173 |
|
174 // |
|
175 // KXmlTokens contains all tokens (=tags) used in |
|
176 // capabilty xml document |
|
177 // |
|
178 // |
|
179 |
|
180 typedef const TText* TTag; |
|
181 NONSHARABLE_STRUCT( TXmlToken ) |
|
182 { |
|
183 TInt id; |
|
184 TTag tag; |
|
185 }; |
|
186 |
|
187 const TXmlToken KXmlTokens[] = |
|
188 { |
|
189 {ECapability, _S("Capability")}, |
|
190 {EGeneral, _S("General")}, |
|
191 {EManufacturer, _S("Manufacturer")}, |
|
192 {EModel, _S("Model")}, |
|
193 {ESN, _S("SN")}, |
|
194 {EOEM, _S("OEM")}, |
|
195 {ESW, _S("SW")}, |
|
196 {EFW, _S("FW")}, |
|
197 {EHW, _S("HW")}, |
|
198 {ELanguage, _S("Language")}, |
|
199 {EMemory, _S("Memory")}, |
|
200 {EMemType, _S("MemType")}, |
|
201 {ELocation, _S("Location")}, |
|
202 {EFree, _S("Free")}, |
|
203 {EUsed, _S("Used")}, |
|
204 {EShared, _S("Shared")}, |
|
205 {EFileSize, _S("FileSize")}, |
|
206 {EFolderSize, _S("FolderSize")}, |
|
207 {EFileNLen, _S("FileNLen")}, |
|
208 {EFolderNLen, _S("FolderNLen")}, |
|
209 {ECaseSenN, _S("CaseSenN")}, |
|
210 {EExt, _S("Ext")}, |
|
211 {EXNam, _S("XNam")}, |
|
212 {EXVal, _S("XVal")}, |
|
213 {EObject, _S("Object")}, |
|
214 {EType, _S("Type")}, |
|
215 {EName_Ext, _S("Name_Ext")}, |
|
216 {ESize, _S("Size")}, |
|
217 {EAccess, _S("Access")}, |
|
218 {EProtocol, _S("Protocol")}, |
|
219 {EEndpoint, _S("Endpoint")}, |
|
220 {ETarget, _S("Target")}, |
|
221 {EInbox, _S("Inbox")}, |
|
222 {EService, _S("Service")}, |
|
223 {EName, _S("Name")}, |
|
224 {EUUID, _S("UUID")}, |
|
225 {EVersion, _S("Version")}, |
|
226 {EXNam, _S("XNam")}, |
|
227 {EXVal, _S("XVal")}, |
|
228 {EAttVersion, _S("Version")}, |
|
229 {EAttDate, _S("Date")}, |
|
230 {EAttCurrentNetwork,_S("CurrentNetwork")}, |
|
231 {EAttHomeNetwork, _S("HomeNetwork")}, |
|
232 {EAttCountryCode, _S("CountryCode")} |
|
233 }; |
|
234 |
|
235 #define NUMXMLTOKENS (sizeof(KXmlTokens)/sizeof(TXmlToken)) |
|
236 |
|
237 |
|
238 |
|
239 |
|
240 // |
|
241 // string array to convert symbian TLanguage enums to |
|
242 // ISO 639 language codes |
|
243 // |
|
244 // See "http://www.sil.org/iso639-3/default.asp" |
|
245 // |
|
246 |
|
247 typedef const TText* TLangString; |
|
248 NONSHARABLE_STRUCT( TLangStringStruct ) |
|
249 { |
|
250 TInt id; |
|
251 TLangString lang; |
|
252 }; |
|
253 |
|
254 /** |
|
255 * Language mapping table. |
|
256 */ |
|
257 const TLangStringStruct KLangStrings[] = |
|
258 { |
|
259 {ELangEnglish, _S("en")}, |
|
260 {ELangFrench, _S("fr")}, |
|
261 {ELangGerman, _S("de")}, |
|
262 {ELangSpanish, _S("es")}, |
|
263 {ELangItalian, _S("it")}, |
|
264 {ELangSwedish, _S("sv")}, |
|
265 {ELangDanish, _S("da")}, |
|
266 {ELangNorwegian, _S("no")}, |
|
267 {ELangFinnish, _S("fi")}, |
|
268 |
|
269 {ELangAmerican, _S("en_US")}, |
|
270 {ELangSwissFrench, _S("fr_CH")}, |
|
271 {ELangSwissGerman, _S("de_CH")}, |
|
272 {ELangPortuguese, _S("pt")}, |
|
273 {ELangTurkish, _S("tr")}, |
|
274 {ELangIcelandic, _S("is")}, |
|
275 {ELangRussian, _S("ru")}, |
|
276 {ELangHungarian, _S("hu")}, |
|
277 {ELangDutch, _S("nl")}, |
|
278 |
|
279 {ELangBelgianFlemish, _S("nl_BE")}, |
|
280 {ELangAustralian, _S("aus")}, |
|
281 {ELangBelgianFrench, _S("fr_BE")}, |
|
282 {ELangAustrian, _S("de_AT")}, |
|
283 {ELangNewZealand, _S("en_NZ")}, |
|
284 {ELangInternationalFrench, _S("fr")}, |
|
285 {ELangCzech, _S("cs")}, |
|
286 {ELangSlovak, _S("sk")}, |
|
287 {ELangPolish, _S("pl")}, |
|
288 |
|
289 {ELangSlovenian, _S("sl")}, |
|
290 {ELangTaiwanChinese, _S("zh_TW")}, |
|
291 {ELangHongKongChinese, _S("zh_HK")}, |
|
292 {ELangPrcChinese, _S("zh_CN")}, |
|
293 {ELangJapanese, _S("ja")}, |
|
294 {ELangThai, _S("th")}, |
|
295 {ELangAfrikaans, _S("af")}, |
|
296 {ELangAlbanian, _S("sq")}, |
|
297 {ELangAmharic, _S("am")}, |
|
298 |
|
299 {ELangArabic, _S("ar")}, |
|
300 {ELangArmenian, _S("hy")}, |
|
301 {ELangTagalog, _S("tl")}, |
|
302 {ELangBelarussian, _S("be")}, |
|
303 {ELangBengali, _S("bn")}, |
|
304 {ELangBulgarian, _S("bg")}, |
|
305 {ELangBurmese, _S("my")}, |
|
306 {ELangCatalan, _S("ca")}, |
|
307 {ELangCroatian, _S("hr")}, |
|
308 |
|
309 {ELangCanadianEnglish, _S("en_CA")}, |
|
310 {ELangInternationalEnglish, _S("en")}, |
|
311 {ELangSouthAfricanEnglish, _S("en_ZA")}, |
|
312 {ELangEstonian, _S("et")}, |
|
313 {ELangFarsi, _S("fa")}, |
|
314 {ELangCanadianFrench, _S("fr_CA")}, |
|
315 {ELangScotsGaelic, _S("gd")}, |
|
316 {ELangGeorgian, _S("ka")}, |
|
317 {ELangGreek, _S("el")}, |
|
318 |
|
319 {ELangCyprusGreek, _S("el_CY")}, |
|
320 {ELangGujarati, _S("gu")}, |
|
321 {ELangHebrew, _S("he")}, |
|
322 {ELangHindi, _S("hi")}, |
|
323 {ELangIndonesian, _S("id")}, |
|
324 {ELangIrish, _S("ga")}, |
|
325 {ELangSwissItalian, _S("it_CH")}, |
|
326 {ELangKannada, _S("kn")}, |
|
327 {ELangKazakh, _S("kk")}, |
|
328 |
|
329 {ELangKhmer, _S("km")}, |
|
330 {ELangKorean, _S("ko")}, |
|
331 {ELangLao, _S("lo")}, |
|
332 {ELangLatvian, _S("lv")}, |
|
333 {ELangLithuanian, _S("lt")}, |
|
334 {ELangMacedonian, _S("mk")}, |
|
335 {ELangMalay, _S("ms")}, |
|
336 {ELangMalayalam, _S("ml")}, |
|
337 {ELangMarathi, _S("mr")}, |
|
338 |
|
339 {ELangMoldavian, _S("mo")}, |
|
340 {ELangMongolian, _S("mn")}, |
|
341 {ELangNorwegianNynorsk, _S("nn")}, |
|
342 {ELangBrazilianPortuguese, _S("pt_BR")}, |
|
343 {ELangPunjabi, _S("pa")}, |
|
344 {ELangRomanian, _S("ro")}, |
|
345 {ELangSerbian, _S("sr")}, |
|
346 {ELangSinhalese, _S("si")}, |
|
347 {ELangSomali, _S("so")}, |
|
348 |
|
349 {ELangInternationalSpanish, _S("es")}, |
|
350 {ELangLatinAmericanSpanish, _S("es_US")}, |
|
351 {ELangSwahili, _S("sw")}, |
|
352 {ELangFinlandSwedish, _S("sv_FI")}, |
|
353 {ELangReserved1, _S("en")}, |
|
354 {ELangTamil, _S("ta")}, |
|
355 {ELangTelugu, _S("te")}, |
|
356 {ELangTibetan, _S("bo")}, |
|
357 {ELangTigrinya, _S("ti")}, |
|
358 |
|
359 {ELangCyprusTurkish, _S("tr_CY")}, |
|
360 {ELangTurkmen, _S("tk")}, |
|
361 {ELangUkrainian, _S("uk")}, |
|
362 {ELangUrdu, _S("ur")}, |
|
363 {ELangReserved2, _S("en")}, |
|
364 {ELangVietnamese, _S("vi")}, |
|
365 {ELangWelsh, _S("cy")}, |
|
366 {ELangZulu, _S("zu")}, |
|
367 {ELangOther, _S("other")}, |
|
368 |
|
369 {ELangManufacturerEnglish, _S("en")}, |
|
370 {ELangSouthSotho, _S("st")}, |
|
371 {ELangBasque, _S("eu")}, |
|
372 {ELangGalician, _S("gl")}, |
|
373 {ELangJavanese, _S("jv")}, |
|
374 {ELangMaithili, _S("bh")}, |
|
375 {ELangAzerbaijani_Latin, _S("az")}, |
|
376 {ELangAzerbaijani_Cyrillic, _S("az")}, |
|
377 {ELangOriya, _S("or")}, |
|
378 {ELangBhojpuri, _S("bh")}, |
|
379 {ELangSundanese, _S("su")}, |
|
380 {ELangKurdish_Latin, _S("ku")}, |
|
381 {ELangKurdish_Arabic, _S("ku")}, |
|
382 {ELangPashto, _S("ps")}, |
|
383 {ELangHausa, _S("ha")}, |
|
384 {ELangOromo, _S("om")}, |
|
385 {ELangUzbek_Latin, _S("uz")}, |
|
386 {ELangUzbek_Cyrillic, _S("uz")}, |
|
387 {ELangSindhi_Arabic, _S("sd")}, |
|
388 {ELangSindhi_Devanagari, _S("sd")}, |
|
389 {ELangYoruba, _S("yo")}, |
|
390 {ELangCebuano, _S("ceb")}, |
|
391 {ELangIgbo, _S("ig")}, |
|
392 {ELangMalagasy, _S("mg")}, |
|
393 {ELangNepali, _S("ne")}, |
|
394 {ELangAssamese, _S("as")}, |
|
395 {ELangShona, _S("sn")}, |
|
396 {ELangZhuang, _S("za")}, |
|
397 {ELangMadurese, _S("mad")}, |
|
398 |
|
399 {ELangEnglish_Apac, _S("en")}, |
|
400 {ELangEnglish_Taiwan, _S("en")}, |
|
401 {ELangEnglish_HongKong, _S("en")}, |
|
402 {ELangEnglish_Prc, _S("en")}, |
|
403 {ELangEnglish_Japan, _S("en")}, |
|
404 {ELangEnglish_Thailand, _S("en")}, |
|
405 |
|
406 {ELangFulfulde, _S("ff")}, |
|
407 {ELangTamazight, _S("ber")}, |
|
408 {ELangBolivianQuechua, _S("qu")}, |
|
409 {ELangPeruQuechua, _S("qu")}, |
|
410 {ELangEcuadorQuechua, _S("qu")}, |
|
411 {ELangTajik_Cyrillic, _S("tg")}, |
|
412 {ELangTajik_PersoArabic, _S("tg")}, |
|
413 {ELangNyanja, _S("ny")}, |
|
414 {ELangHaitianCreole, _S("ht")}, |
|
415 {ELangLombard, _S("lmo")}, |
|
416 {ELangKoongo, _S("kg")}, |
|
417 {ELangAkan, _S("ak")}, |
|
418 {ELangHmong, _S("hmn")}, |
|
419 {ELangYi, _S("ii")}, |
|
420 {ELangTshiluba, _S("lu")}, |
|
421 {ELangIlocano, _S("ilo")}, |
|
422 {ELangUyghur, _S("ug")}, |
|
423 {ELangNeapolitan, _S("nap")}, |
|
424 {ELangRwanda, _S("rw")}, |
|
425 {ELangXhosa, _S("xh")}, |
|
426 {ELangBalochi, _S("bal")}, |
|
427 {ElangHiligaynon, _S("hil")}, |
|
428 {ELangMinangkabau, _S("min")}, |
|
429 {ELangMakhuwa, _S("vmw")}, |
|
430 {ELangSantali, _S("sat")}, |
|
431 {ELangGikuyu, _S("ki")}, |
|
432 {ELangMoore, _S("mos")}, |
|
433 {ELangGuarani, _S("gnHI")}, |
|
434 {ELangRundi, _S("ru")}, |
|
435 {ELangRomani_Latin, _S("rom")}, |
|
436 {ELangRomani_Cyrillic, _S("rom")}, |
|
437 {ELangTswana, _S("tn")}, |
|
438 {ELangKanuri, _S("kr")}, |
|
439 {ELangKashmiri_Devanagari, _S("ks")}, |
|
440 {ELangKashmiri_PersoArabic, _S("ks")}, |
|
441 {ELangUmbundu, _S("umb")}, |
|
442 {ELangKonkani, _S("kok")}, |
|
443 {ELangBalinese, _S("ban")}, |
|
444 {ELangNorthernSotho, _S("nso")}, |
|
445 {ELangWolof, _S("wo")}, |
|
446 {ELangBemba, _S("bmy")}, |
|
447 {ELangTsonga, _S("ts")}, |
|
448 {ELangYiddish, _S("yi")}, |
|
449 {ELangKirghiz, _S("ky")}, |
|
450 {ELangGanda, _S("lg")}, |
|
451 {ELangSoga, _S("xog")}, |
|
452 {ELangMbundu, _S("kmb")}, |
|
453 {ELangBambara, _S("bm")}, |
|
454 {ELangCentralAymara, _S("ay")}, |
|
455 {ELangZarma, _S("dje")}, |
|
456 {ELangLingala, _S("ln")}, |
|
457 {ELangBashkir, _S("ba")}, |
|
458 {ELangChuvash, _S("cv")}, |
|
459 {ELangSwati, _S("ss")}, |
|
460 {ELangTatar, _S("tt")}, |
|
461 {ELangSouthernNdebele, _S("nr")}, |
|
462 {ELangSardinian, _S("sc")}, |
|
463 {ELangScots, _S("sco")}, |
|
464 {ELangMeitei, _S("mni")}, |
|
465 {ELangWalloon, _S("wa")}, |
|
466 {ELangKabardian, _S("kbd")}, |
|
467 {ELangMazanderani, _S("mzn")}, |
|
468 {ELangGilaki, _S("glk")}, |
|
469 {ELangShan, _S("shn")}, |
|
470 {ELangLuyia, _S("luy")}, |
|
471 {ELanguageLuo, _S("luo")}, |
|
472 {ELangSukuma, _S(" suk")}, |
|
473 {ELangAceh, _S("ace")}, |
|
474 {ELangMalay_Apac, _S("ms")} |
|
475 }; |
|
476 |
|
477 #define NUMLANGSTRINGS (sizeof(KLangStrings)/sizeof(TLangStringStruct)) |
|
478 |
|
479 |
|
480 |
|
481 |
|
482 #endif // capability.h |
|
483 |
|