connectivitymodules/SeCon/services/csc/inc/capability.h
branchRCL_3
changeset 19 0aa8cc770c8a
parent 18 453dfc402455
child 20 4a793f564d72
equal deleted inserted replaced
18:453dfc402455 19:0aa8cc770c8a
     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