secureswitools/swisistools/source/sisxlibrary/sislanguage.h
changeset 0 ba25891c3a9e
equal deleted inserted replaced
-1:000000000000 0:ba25891c3a9e
       
     1 /*
       
     2 * Copyright (c) 2004-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 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 * Note: This file may contain code to generate corrupt files for test purposes.
       
    16 * Such code is excluded from production builds by use of compiler defines;
       
    17 * it is recommended that such code should be removed if this code is ever published publicly.
       
    18 * As specified in SGL.GT0188.251
       
    19 *
       
    20 */
       
    21 
       
    22 
       
    23 /**
       
    24  @file 
       
    25  @internalComponent
       
    26  @released
       
    27 */
       
    28 
       
    29 #ifndef __SISLANGUAGE_H__
       
    30 #define __SISLANGUAGE_H__
       
    31 
       
    32 
       
    33 #include "structure.h"
       
    34 #include "numeric.h"
       
    35 
       
    36 class CSISLanguage : public CStructure <CSISFieldRoot::ESISLanguage>
       
    37 
       
    38 	{
       
    39 public:
       
    40 
       
    41 	typedef enum 
       
    42 		{
       
    43 		//This list is lifted directly from E32std.h
       
    44 		/**
       
    45 			Enumerated value used for testing - does not represent a language.
       
    46 		*/
       
    47 		ELangTest = 0,
       
    48 
       
    49 		/** UK English. */
       
    50 		ELangEnglish = 1,
       
    51 
       
    52 		/** French. */
       
    53 		ELangFrench = 2,
       
    54 
       
    55 		/** German. */
       
    56 		ELangGerman = 3,
       
    57 
       
    58 		/** Spanish. */
       
    59 		ELangSpanish = 4,
       
    60 
       
    61 		/** Italian. */
       
    62 		ELangItalian = 5,
       
    63 
       
    64 		/** Swedish. */
       
    65 		ELangSwedish = 6,
       
    66 
       
    67 		/** Danish. */
       
    68 		ELangDanish = 7,
       
    69 
       
    70 		/** Norwegian. */
       
    71 		ELangNorwegian = 8,
       
    72 
       
    73 		/** Finnish. */
       
    74 		ELangFinnish = 9,
       
    75 
       
    76 		/** American. */
       
    77 		ELangAmerican = 10,
       
    78 
       
    79 		/** Swiss French. */
       
    80 		ELangSwissFrench = 11,
       
    81 
       
    82 		/** Swiss German. */
       
    83 		ELangSwissGerman = 12,
       
    84 
       
    85 		/** Portuguese. */
       
    86 		ELangPortuguese = 13,
       
    87 
       
    88 		/** Turkish. */
       
    89 		ELangTurkish = 14,
       
    90 
       
    91 		/** Icelandic. */
       
    92 		ELangIcelandic = 15,
       
    93 
       
    94 		/** Russian. */
       
    95 		ELangRussian = 16,
       
    96 
       
    97 		/** Hungarian. */
       
    98 		ELangHungarian = 17,
       
    99 
       
   100 		/** Dutch. */
       
   101 		ELangDutch = 18,
       
   102 
       
   103 		/** Belgian Flemish. */
       
   104 		ELangBelgianFlemish = 19,
       
   105 
       
   106 		/** Australian English. */
       
   107 		ELangAustralian = 20,
       
   108 
       
   109 		/** Belgian French. */
       
   110 		ELangBelgianFrench = 21,
       
   111 
       
   112 		/** Austrian German. */
       
   113 		ELangAustrian = 22,
       
   114 
       
   115 		/** New Zealand English. */
       
   116 		ELangNewZealand = 23,
       
   117 
       
   118 		/** International French. */
       
   119 		ELangInternationalFrench = 24,
       
   120 
       
   121 		/** Czech. */
       
   122 		ELangCzech = 25,
       
   123 
       
   124 		/** Slovak. */
       
   125 		ELangSlovak = 26,
       
   126 
       
   127 		/** Polish. */
       
   128 		ELangPolish = 27,
       
   129 
       
   130 		/** Slovenian. */
       
   131 		ELangSlovenian = 28,
       
   132 
       
   133 		/** Taiwanese Chinese. */
       
   134 		ELangTaiwanChinese = 29,
       
   135 
       
   136 		/** Hong Kong Chinese. */
       
   137 		ELangHongKongChinese = 30,
       
   138 
       
   139 		/** Peoples Republic of China's Chinese. */
       
   140 		ELangPrcChinese = 31,
       
   141 
       
   142 		/** Japanese. */
       
   143 		ELangJapanese = 32,
       
   144 
       
   145 		/** Thai. */
       
   146 		ELangThai = 33,
       
   147 
       
   148 		/** Afrikaans. */
       
   149 		ELangAfrikaans = 34,
       
   150 
       
   151 		/** Albanian. */
       
   152 		ELangAlbanian = 35,
       
   153 
       
   154 		/** Amharic. */
       
   155 		ELangAmharic = 36,
       
   156 
       
   157 		/** Arabic. */
       
   158 		ELangArabic = 37,
       
   159 
       
   160 		/** Armenian. */
       
   161 		ELangArmenian = 38,
       
   162 
       
   163 		/** Tagalog. */
       
   164 		ELangTagalog = 39,
       
   165 
       
   166 		/** Belarussian. */
       
   167 		ELangBelarussian = 40,
       
   168 
       
   169 		/** Bengali. */
       
   170 		ELangBengali = 41,
       
   171 
       
   172 		/** Bulgarian. */
       
   173 		ELangBulgarian = 42,
       
   174 
       
   175 		/** Burmese. */
       
   176 		ELangBurmese = 43,
       
   177 
       
   178 		/** Catalan. */
       
   179 		ELangCatalan = 44,
       
   180 
       
   181 		/** Croatian. */
       
   182 		ELangCroatian = 45,
       
   183 
       
   184 		/** Canadian English. */
       
   185 		ELangCanadianEnglish = 46,
       
   186 
       
   187 		/** International English. */
       
   188 		ELangInternationalEnglish = 47,
       
   189 
       
   190 		/** South African English. */
       
   191 		ELangSouthAfricanEnglish = 48,
       
   192 
       
   193 		/** Estonian. */
       
   194 		ELangEstonian = 49,
       
   195 
       
   196 		/** Farsi. */
       
   197 		ELangFarsi = 50,
       
   198 
       
   199 		/** Canadian French. */
       
   200 		ELangCanadianFrench = 51,
       
   201 
       
   202 		/** Gaelic. */
       
   203 		ELangScotsGaelic = 52,
       
   204 
       
   205 		/** Georgian. */
       
   206 		ELangGeorgian = 53,
       
   207 
       
   208 		/** Greek. */
       
   209 		ELangGreek = 54,
       
   210 
       
   211 		/** Cyprus Greek. */
       
   212 		ELangCyprusGreek = 55,
       
   213 
       
   214 		/** Gujarati. */
       
   215 		ELangGujarati = 56,
       
   216 
       
   217 		/** Hebrew. */
       
   218 		ELangHebrew = 57,
       
   219 
       
   220 		/** Hindi. */
       
   221 		ELangHindi = 58,
       
   222 
       
   223 		/** Indonesian. */
       
   224 		ELangIndonesian = 59,
       
   225 
       
   226 		/** Irish. */
       
   227 		ELangIrish = 60,
       
   228 
       
   229 		/** Swiss Italian. */
       
   230 		ELangSwissItalian = 61,
       
   231 
       
   232 		/** Kannada. */
       
   233 		ELangKannada = 62,
       
   234 
       
   235 		/** Kazakh. */
       
   236 		ELangKazakh = 63,
       
   237 
       
   238 		/** Khmer. */
       
   239 		ELangKhmer = 64,
       
   240 
       
   241 		/** Korean. */
       
   242 		ELangKorean = 65,
       
   243 
       
   244 		/** Lao. */
       
   245 		ELangLao = 66,
       
   246 
       
   247 		/** Latvian. */
       
   248 		ELangLatvian = 67,
       
   249 
       
   250 		/** Lithuanian. */
       
   251 		ELangLithuanian = 68,
       
   252 
       
   253 		/** Macedonian. */
       
   254 		ELangMacedonian = 69,
       
   255 
       
   256 		/** Malay. */
       
   257 		ELangMalay = 70,
       
   258 
       
   259 		/** Malayalam. */
       
   260 		ELangMalayalam = 71,
       
   261 
       
   262 		/** Marathi. */
       
   263 		ELangMarathi = 72,
       
   264 
       
   265 		/** Moldavian. */
       
   266 		ELangMoldavian = 73,
       
   267 
       
   268 		/** Mongolian. */
       
   269 		ELangMongolian = 74,
       
   270 
       
   271 		/** Norwegian Nynorsk. */
       
   272 		ELangNorwegianNynorsk = 75,
       
   273 
       
   274 		/** Brazilian Portuguese. */
       
   275 		ELangBrazilianPortuguese = 76,
       
   276 
       
   277 		/** Punjabi. */
       
   278 		ELangPunjabi = 77,
       
   279 
       
   280 		/** Romanian. */
       
   281 		ELangRomanian = 78,
       
   282 
       
   283 		/** Serbian. */
       
   284 		ELangSerbian = 79,
       
   285 
       
   286 		/** Sinhalese. */
       
   287 		ELangSinhalese = 80,
       
   288 
       
   289 		/** Somali. */
       
   290 		ELangSomali = 81,
       
   291 
       
   292 		/** International Spanish. */
       
   293 		ELangInternationalSpanish = 82,
       
   294 
       
   295 		/** American Spanish. */
       
   296 		ELangLatinAmericanSpanish = 83,
       
   297 
       
   298 		/** Swahili. */
       
   299 		ELangSwahili = 84,
       
   300 
       
   301 		/** Finland Swedish. */
       
   302 		ELangFinlandSwedish = 85,
       
   303 
       
   304 		/** Reserved, not in use. */
       
   305 		ELangReserved1 = 86,		// This enum should not be used for new languages, see INC110543
       
   306 
       
   307 		/** Tamil. */
       
   308 		ELangTamil = 87,
       
   309 
       
   310 		/** Telugu. */
       
   311 		ELangTelugu = 88,
       
   312 
       
   313 		/** Tibetan. */
       
   314 		ELangTibetan = 89,
       
   315 
       
   316 		/** Tigrinya. */
       
   317 		ELangTigrinya = 90,
       
   318 
       
   319 		/** Cyprus Turkish. */
       
   320 		ELangCyprusTurkish = 91,
       
   321 
       
   322 		/** Turkmen. */
       
   323 		ELangTurkmen = 92,
       
   324 
       
   325 		/** Ukrainian. */
       
   326 		ELangUkrainian = 93,
       
   327 
       
   328 		/** Urdu. */
       
   329 		ELangUrdu = 94,
       
   330 
       
   331 		/** Reserved, not in use. */
       
   332 		ELangReserved2 = 95,		// This enum should not be used for new languages, see INC110543
       
   333 
       
   334 		/** Vietnamese. */
       
   335 		ELangVietnamese = 96,
       
   336 
       
   337 		/** Welsh. */
       
   338 		ELangWelsh = 97,
       
   339 
       
   340 		/** Zulu. */
       
   341 		ELangZulu = 98,
       
   342 
       
   343 		/**
       
   344 		  @deprecated
       
   345 
       
   346 		  Use of this value is deprecated.
       
   347 		  */
       
   348 		ELangOther = 99,
       
   349 
       
   350 		/** English with terms as used by the device manufacturer, if this needs to
       
   351 		  be distinct from the English used by the UI vendor. */
       
   352 		ELangManufacturerEnglish = 100,
       
   353 
       
   354 		/** South Sotho.
       
   355 
       
   356 		  A language of Lesotho also called Sesotho. SIL code sot. */
       
   357 		ELangSouthSotho = 101,
       
   358 
       
   359 		/** Basque. */
       
   360 		ELangBasque = 102,
       
   361 
       
   362 		/** Galician. */
       
   363 		ELangGalician = 103,
       
   364 
       
   365 		/** Javanese. */
       
   366 		ELangJavanese = 104,
       
   367 
       
   368 		/** Maithili. */
       
   369 		ELangMaithili = 105,
       
   370 
       
   371 		/** Azerbaijani(Latin alphabet). */
       
   372 		ELangAzerbaijani_Latin = 106,
       
   373 
       
   374 		/** Azerbaijani(Cyrillic alphabet). */
       
   375 		ELangAzerbaijani_Cyrillic = 107,
       
   376 
       
   377 		/** Oriya. */
       
   378 		ELangOriya = 108,
       
   379 
       
   380 		/** Bhojpuri. */
       
   381 		ELangBhojpuri = 109,
       
   382 
       
   383 		/** Sundanese. */
       
   384 		ELangSundanese = 110,
       
   385 
       
   386 		/** Kurdish(Latin alphabet). */
       
   387 		ELangKurdish_Latin = 111,
       
   388 
       
   389 		/** Kurdish(Arabic alphabet). */
       
   390 		ELangKurdish_Arabic = 112,
       
   391 
       
   392 		/** Pashto. */
       
   393 		ELangPashto = 113,
       
   394 
       
   395 		/** Hausa. */
       
   396 		ELangHausa = 114,
       
   397 
       
   398 		/** Oromo. */
       
   399 		ELangOromo = 115,
       
   400 
       
   401 		/** Uzbek(Latin alphabet). */
       
   402 		ELangUzbek_Latin = 116,
       
   403 
       
   404 		/** Uzbek(Cyrillic alphabet). */
       
   405 		ELangUzbek_Cyrillic = 117,
       
   406 
       
   407 		/** Sindhi(Arabic alphabet). */
       
   408 		ELangSindhi_Arabic = 118,
       
   409 
       
   410 		/** Sindhi(using Devanagari script). */
       
   411 		ELangSindhi_Devanagari = 119,
       
   412 
       
   413 		/** Yoruba. */
       
   414 		ELangYoruba = 120,
       
   415 
       
   416 		/** Cebuano. */
       
   417 		ELangCebuano = 121,
       
   418 
       
   419 		/** Igbo. */
       
   420 		ELangIgbo = 122,
       
   421 
       
   422 		/** Malagasy. */
       
   423 		ELangMalagasy = 123,
       
   424 
       
   425 		/** Nepali. */ 
       
   426 		ELangNepali = 124,
       
   427 
       
   428 		/** Assamese. */
       
   429 		ELangAssamese = 125,
       
   430 
       
   431 		/** Shona. */
       
   432 		ELangShona = 126,
       
   433 
       
   434 		/** Zhuang. */
       
   435 		ELangZhuang = 127,
       
   436 
       
   437 		/** Madurese. */
       
   438 		ELangMadurese = 128,
       
   439 
       
   440 		/** English as appropriate for use in Asia-Pacific regions. */
       
   441 		ELangEnglish_Apac=129,
       
   442 
       
   443 		/** English as appropriate for use in Taiwan. */
       
   444 		ELangEnglish_Taiwan=157,
       
   445 
       
   446 		/** English as appropriate for use in Hong Kong. */
       
   447 		ELangEnglish_HongKong=158,
       
   448 
       
   449 		/** English as appropriate for use in the Peoples Republic of China. */
       
   450 		ELangEnglish_Prc=159,
       
   451 
       
   452 		/** English as appropriate for use in Japan. */
       
   453 		ELangEnglish_Japan=160,
       
   454 
       
   455 		/** English as appropriate for use in Thailand. */
       
   456 		ELangEnglish_Thailand=161,
       
   457 
       
   458 		/** Fulfulde, also known as Fula */
       
   459 		ELangFulfulde = 162,
       
   460 
       
   461 		/** Tamazight. */
       
   462 		ELangTamazight = 163,
       
   463 
       
   464 		/** Bolivian Quechua. */
       
   465 		ELangBolivianQuechua = 164,
       
   466 
       
   467 		/** Peru Quechua. */
       
   468 		ELangPeruQuechua = 165,
       
   469 
       
   470 		/** Ecuador Quechua. */
       
   471 		ELangEcuadorQuechua = 166,
       
   472 
       
   473 		/** Tajik(Cyrillic alphabet). */
       
   474 		ELangTajik_Cyrillic = 167,
       
   475 
       
   476 		/** Tajik(using Perso-Arabic script). */
       
   477 		ELangTajik_PersoArabic = 168,
       
   478 
       
   479 		/** Nyanja, also known as Chichewa or Chewa. */
       
   480 		ELangNyanja = 169,
       
   481 
       
   482 		/** Haitian Creole. */
       
   483 		ELangHaitianCreole = 170,
       
   484 
       
   485 		/** Lombard. */
       
   486 		ELangLombard = 171,
       
   487 
       
   488 		/** Koongo, also known as Kongo or KiKongo. */
       
   489 		ELangKoongo = 172, 
       
   490 
       
   491 		/** Akan. */
       
   492 		ELangAkan = 173,
       
   493 
       
   494 		/** Hmong. */
       
   495 		ELangHmong = 174,
       
   496 
       
   497 		/** Yi. */
       
   498 		ELangYi = 175,
       
   499 
       
   500 		/** Tshiluba, also known as Luba-Kasai */
       
   501 		ELangTshiluba = 176,
       
   502 
       
   503 		/** Ilocano, also know as Ilokano or Iloko. */
       
   504 		ELangIlocano = 177,
       
   505 
       
   506 		/** Uyghur. */
       
   507 		ELangUyghur = 178,
       
   508 
       
   509 		/** Neapolitan. */
       
   510 		ELangNeapolitan = 179,
       
   511 
       
   512 		/** Rwanda, also known as Kinyarwanda */
       
   513 		ELangRwanda = 180,
       
   514 
       
   515 		/** Xhosa. */
       
   516 		ELangXhosa = 181,
       
   517 
       
   518 		/** Balochi, also known as Baluchi */
       
   519 		ELangBalochi = 182,
       
   520 
       
   521 		/** Hiligaynon. */
       
   522 		ElangHiligaynon = 183,
       
   523 
       
   524 		/** Minangkabau. */
       
   525 		ELangMinangkabau = 184,
       
   526 
       
   527 		/** Makhuwa. */
       
   528 		ELangMakhuwa = 185,
       
   529 
       
   530 		/** Santali. */
       
   531 		ELangSantali = 186,
       
   532 
       
   533 		/** Gikuyu, sometimes written Kikuyu. */
       
   534 		ELangGikuyu = 187,
       
   535 
       
   536 		/** Mòoré, also known as Mossi or More. */
       
   537 		ELangMoore = 188,
       
   538 
       
   539 		/** Guaraní. */
       
   540 		ELangGuarani = 189, 
       
   541 
       
   542 		/** Rundi, also known as Kirundi. */
       
   543 		ELangRundi = 190,
       
   544 
       
   545 		/** Romani(Latin alphabet). */
       
   546 		ELangRomani_Latin = 191,
       
   547 
       
   548 		/** Romani(Cyrillic alphabet). */
       
   549 		ELangRomani_Cyrillic = 192,
       
   550 
       
   551 		/** Tswana. */
       
   552 		ELangTswana = 193,
       
   553 
       
   554 		/** Kanuri. */
       
   555 		ELangKanuri = 194,
       
   556 
       
   557 		/** Kashmiri(using Devanagari script). */
       
   558 		ELangKashmiri_Devanagari = 195,
       
   559 
       
   560 		/** Kashmiri(using Perso-Arabic script). */
       
   561 		ELangKashmiri_PersoArabic = 196,
       
   562 
       
   563 		/** Umbundu. */
       
   564 		ELangUmbundu = 197,
       
   565 
       
   566 		/** Konkani. */
       
   567 		ELangKonkani = 198,
       
   568 
       
   569 		/** Balinese, a language used in Indonesia (Java and Bali). */
       
   570 		ELangBalinese = 199,
       
   571 
       
   572 		/** Northern Sotho. */
       
   573 		ELangNorthernSotho = 200,
       
   574 
       
   575 		/** Wolof. */
       
   576 		ELangWolof = 201,
       
   577 
       
   578 		/** Bemba. */
       
   579 		ELangBemba = 202,
       
   580 
       
   581 		/** Tsonga. */
       
   582 		ELangTsonga = 203,
       
   583 
       
   584 		/** Yiddish. */
       
   585 		ELangYiddish = 204,
       
   586 
       
   587 		/** Kirghiz, also known as Kyrgyz. */
       
   588 		ELangKirghiz = 205,
       
   589 
       
   590 		/** Ganda, also known as Luganda. */
       
   591 		ELangGanda = 206,
       
   592 
       
   593 		/** Soga, also known as Lusoga. */
       
   594 		ELangSoga = 207,
       
   595 
       
   596 		/** Mbundu, also known as Kimbundu. */
       
   597 		ELangMbundu = 208,
       
   598 
       
   599 		/** Bambara. */
       
   600 		ELangBambara = 209,
       
   601 
       
   602 		/** Central Aymara. */
       
   603 		ELangCentralAymara = 210,
       
   604 
       
   605 		/** Zarma. */
       
   606 		ELangZarma = 211,
       
   607 
       
   608 		/** Lingala. */
       
   609 		ELangLingala = 212,
       
   610 
       
   611 		/** Bashkir. */
       
   612 		ELangBashkir = 213,
       
   613 
       
   614 		/** Chuvash. */
       
   615 		ELangChuvash = 214,
       
   616 
       
   617 		/** Swati. */
       
   618 		ELangSwati = 215,
       
   619 
       
   620 		/** Tatar. */
       
   621 		ELangTatar = 216,
       
   622 
       
   623 		/** Southern Ndebele. */
       
   624 		ELangSouthernNdebele = 217,
       
   625 
       
   626 		/** Sardinian. */
       
   627 		ELangSardinian = 218,
       
   628 
       
   629 		/** Scots. */
       
   630 		ELangScots = 219,
       
   631 
       
   632 		/** Meitei, also known as Meithei or Manipuri */
       
   633 		ELangMeitei = 220,
       
   634 
       
   635 		/** Walloon. */
       
   636 		ELangWalloon = 221,
       
   637 
       
   638 		/** Kabardian. */
       
   639 		ELangKabardian = 222,
       
   640 
       
   641 		/** Mazanderani, also know as Mazandarani or Tabri. */
       
   642 		ELangMazanderani = 223,
       
   643 
       
   644 		/** Gilaki. */
       
   645 		ELangGilaki = 224,
       
   646 
       
   647 		/** Shan. */
       
   648 		ELangShan = 225,
       
   649 
       
   650 		/** Luyia. */
       
   651 		ELangLuyia = 226,
       
   652 
       
   653 		/** Luo, also known as Dholuo, a language of Kenya. */
       
   654 		ELanguageLuo = 227,
       
   655 
       
   656 		/** Sukuma, also known as Kisukuma. */
       
   657 		ELangSukuma = 228,
       
   658 
       
   659 		/** Aceh, also known as Achinese. */
       
   660 		ELangAceh = 229,
       
   661 
       
   662 		/** English used in India. */
       
   663 		ELangEnglish_India = 230,
       
   664 
       
   665 		/** Malay as appropriate for use in Asia-Pacific regions. */
       
   666 		ELangMalay_Apac=326,
       
   667 
       
   668 		/** Indonesian as appropriate for use in Asia-Pacific regions. */
       
   669 		ELangIndonesian_Apac=327,
       
   670 		
       
   671 		ELangNone = 0xFFFF,
       
   672 		ELangMaximum = ELangNone // This must always be equal to the last (largest) TLanguage enum.
       
   673 		}
       
   674 	TLanguage;
       
   675 
       
   676 	typedef CSISUInt32 TDialect;
       
   677 
       
   678 public:
       
   679 	CSISLanguage ();
       
   680 	CSISLanguage (const TDialect aLan);
       
   681 	CSISLanguage (const CSISLanguage& aInitialiser);
       
   682 
       
   683 	virtual std::string Name () const;
       
   684 #ifdef GENERATE_ERRORS
       
   685 	virtual void CreateDefects ();
       
   686 #endif // GENERATE_ERRORS
       
   687 
       
   688 	operator TUint32 () const;
       
   689 	CSISLanguage& operator = (const TUint32 aLanguage);
       
   690 	TLanguage Value () const;
       
   691 
       
   692 	static TDialect IdentifyLanguage (const std::wstring& aIdentifier);
       
   693 	void AddPackageEntry(std::wostream& aStream, bool aVerbose) const;
       
   694 	
       
   695 private:
       
   696 	const wchar_t* GetLanguageCode(TDialect& aDialect) const;
       
   697 
       
   698 private:
       
   699 	TDialect iLanguage;
       
   700 
       
   701 	};
       
   702 
       
   703 
       
   704 
       
   705 
       
   706 inline CSISLanguage::CSISLanguage ()
       
   707 	{
       
   708 	InsertMember (iLanguage);
       
   709 	}
       
   710 
       
   711 
       
   712 inline CSISLanguage::CSISLanguage (const TDialect aLan) :
       
   713 		iLanguage (aLan)
       
   714 	{
       
   715 	InsertMember (iLanguage);
       
   716 	}
       
   717 
       
   718 
       
   719 inline CSISLanguage::CSISLanguage (const CSISLanguage& aInitialiser) :
       
   720 		CStructure <CSISFieldRoot::ESISLanguage> (aInitialiser),
       
   721 		iLanguage (aInitialiser.iLanguage)
       
   722 	{
       
   723 	InsertMember (iLanguage);
       
   724 	}
       
   725 
       
   726 
       
   727 inline CSISLanguage::operator TUint32 () const
       
   728 	{
       
   729 	return static_cast <TUint32> (iLanguage);
       
   730 	}
       
   731 
       
   732 
       
   733 inline CSISLanguage& CSISLanguage::operator = (const TUint32 aLanguage)
       
   734 	{
       
   735 	iLanguage = static_cast <TLanguage> (aLanguage);
       
   736 	return *this;
       
   737 	}
       
   738 
       
   739 
       
   740 inline CSISLanguage::TDialect operator + (const CSISLanguage::TDialect aLHS, const CSISLanguage::TDialect aRHS)
       
   741 	{
       
   742 		return static_cast <CSISLanguage::TDialect> (static_cast <TUint32> (aLHS) + static_cast <TUint32> (aRHS));
       
   743 	}
       
   744 
       
   745 inline bool operator == (const CSISLanguage::TDialect dialect, const CSISLanguage::TLanguage language)
       
   746 	{
       
   747 	return dialect.Value () == static_cast <TUint32> (language);
       
   748 	}
       
   749 
       
   750 #ifdef GENERATE_ERRORS
       
   751 inline void CSISLanguage::CreateDefects ()
       
   752 	{
       
   753 	if (CSISFieldRoot::IsBugToBeCreated (CSISFieldRoot::EBugInvalidValues))
       
   754 		{
       
   755 		iLanguage = static_cast <TLanguage> (rand ());
       
   756 		}
       
   757 	}
       
   758 #endif // GENERATE_ERRORS
       
   759 
       
   760 inline CSISLanguage::TLanguage CSISLanguage::Value () const
       
   761 	{
       
   762 	return static_cast <CSISLanguage::TLanguage> (iLanguage.Value ());
       
   763 	}
       
   764 
       
   765 #endif // __SISLANGUAGE_H__
       
   766