satengine/SatServer/inc/SatSOpcodes.h
changeset 46 2fa1fa551b0b
parent 42 35488577e233
child 48 78df25012fda
equal deleted inserted replaced
42:35488577e233 46:2fa1fa551b0b
     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:  This file contains the data structure and message code
       
    15 *                definitions needed by both the server and the client
       
    16 *                interfaces at compile time.
       
    17 *
       
    18 */
       
    19 
       
    20 
       
    21 #ifndef SATSOPCODES_H
       
    22 #define SATSOPCODES_H
       
    23 
       
    24 //  INCLUDES
       
    25 
       
    26 #include <e32base.h>
       
    27 #include <languages.hrh>    // Contains new language definitions for Series 60.
       
    28 
       
    29 // CONSTANTS
       
    30 // Contains the full path name of the executable to be loaded.
       
    31 _LIT( KSatServerNameAndPath, "z:\\sys\\bin\\SatServer.exe" );
       
    32 
       
    33 // A version must be specified when creating a session with the server.
       
    34 const TUint KSatServerMajorVersionNumber = 0;
       
    35 const TUint KSatServerMinorVersionNumber = 1;
       
    36 const TUint KSatServerBuildVersionNumber = 1;
       
    37 
       
    38 // Number of message slots
       
    39 const TInt KSatMessageSlots = 42;
       
    40 
       
    41 // Max number of message arguments
       
    42 const TInt KSatMaxMessageArguments = 4;
       
    43 
       
    44 // DATA TYPES
       
    45 
       
    46 // Operation codes used in message passing between client and server
       
    47 enum TSatServerRequest
       
    48     {
       
    49     ESatSNone, // Illegal service request.
       
    50     // Server test commands
       
    51     ESatSDisplayText,
       
    52     ESatSNotifyTest,
       
    53     ESatSNotifyTestCancel,
       
    54     ESatSShutdown,
       
    55     // Proactive commands (asynchronous)
       
    56     ESatSProactiveDisplayText,
       
    57     ESatSProactiveGetInkey,
       
    58     ESatSProactiveGetInput,
       
    59     ESatSProactiveSetUpMenu,
       
    60     ESatSProactiveSelectItem,
       
    61     ESatSProactivePlayTone,
       
    62     ESatSProactiveRefresh,
       
    63     ESatSProactiveQuery, // for Send SM and Set Up Call
       
    64     ESatSProactiveEvent, // for server event notification
       
    65     ESatSProactiveNotification,
       
    66 
       
    67     // Envelope commands (synchronous)
       
    68     ESatSActiveMenuSelection,
       
    69 
       
    70     // Command responses (synchronous)
       
    71     ESatSProactiveDisplayTextResponse,
       
    72     ESatSProactiveGetInkeyResponse,
       
    73     ESatSProactiveGetInputResponse,
       
    74     ESatSProactiveSetUpMenuResponse,
       
    75     ESatSProactiveSelectItemResponse,
       
    76     ESatSProactivePlayToneResponse,
       
    77     ESatSProactiveQueryResponse,
       
    78     ESatSProactiveEventResponse,
       
    79     ESatSProactiveNotificationResponse,
       
    80 
       
    81     ESatSProactiveRefreshResponse,
       
    82 
       
    83     // Session indicators (for internal use)
       
    84     ESatSOpenUiSubSession,
       
    85     ESatSGetSIMAppStatus,
       
    86     ESatSCloseUiSubSession,
       
    87 
       
    88     // Refresh handling
       
    89     ESatSOpenRefreshSubSession,
       
    90     ESatSCloseRefreshSubSession,
       
    91     ESatSRefreshAllowed,
       
    92     ESatSNotifyAllowRefresh,
       
    93     ESatSNotityAllowRefreshCancel,
       
    94     ESatSNotifyRefresh,
       
    95     ESatSCancelNotifyRefresh,
       
    96     ESatSRefreshEFRead,
       
    97 
       
    98     // Icon handling
       
    99     ESatSOpenIconSubSession,
       
   100     ESatSCloseIconSubSession,
       
   101     ESatSGetIconInfo,
       
   102     ESatSGetIconInstance,
       
   103     ESatSIconInstanceGot,
       
   104 
       
   105     // SetUpIdleMode response
       
   106     ESatSIdleModeResponse,
       
   107 
       
   108     ESatSSessionTerminated
       
   109     };
       
   110 
       
   111 // String array to convert Symbian TLanguage enums to
       
   112 // ISO 639-1 language codes.
       
   113 //
       
   114 // See "http://lcweb.loc.gov/standards/iso639-2/englangn.html"
       
   115 typedef const TText*  TLangString;
       
   116 struct SLangString
       
   117     {
       
   118     TInt iId;
       
   119     TLangString iString;
       
   120     };
       
   121 
       
   122 const SLangString KLangStrings[] =
       
   123     {
       
   124     { ELangEnglish,                 _S( "en" ) },
       
   125     { ELangFrench,                  _S( "fr" ) },
       
   126     { ELangGerman,                  _S( "de" ) },
       
   127     { ELangSpanish,                 _S( "es" ) },
       
   128     { ELangItalian,                 _S( "it" ) },
       
   129     { ELangSwedish,                 _S( "sv" ) },
       
   130     { ELangDanish,                  _S( "da" ) },
       
   131     { ELangNorwegian,               _S( "no" ) },
       
   132     { ELangFinnish,                 _S( "fi" ) },
       
   133 
       
   134     // Following three languages are not listed in ISO 639-1 specification.
       
   135     // Decisions based on parent language.
       
   136     { ELangAmerican,                _S( "en" ) },
       
   137     { ELangSwissFrench,             _S( "fr" ) },
       
   138     { ELangSwissGerman,             _S( "de" ) },
       
   139 
       
   140     { ELangPortuguese,              _S( "pt" ) },
       
   141     { ELangTurkish,                 _S( "tr" ) },
       
   142     { ELangIcelandic,               _S( "is" ) },
       
   143     { ELangRussian,                 _S( "ru" ) },
       
   144     { ELangHungarian,               _S( "hu" ) },
       
   145     { ELangDutch,                   _S( "nl" ) },
       
   146 
       
   147     // Following five languages are not listed in ISO 639-1 specification.
       
   148     // Decisions based on parent language.
       
   149     { ELangBelgianFlemish,          _S( "nl" ) },
       
   150     { ELangAustralian,              _S( "en" ) },  // ISO 639-2 "aus"
       
   151     { ELangBelgianFrench,           _S( "fr" ) },
       
   152     { ELangAustrian,                _S( "de" ) },
       
   153     { ELangNewZealand,              _S( "en" ) },
       
   154 
       
   155     { ELangInternationalFrench,     _S( "fr" ) },
       
   156     { ELangCzech,                   _S( "cs" ) },
       
   157     { ELangSlovak,                  _S( "sk" ) },
       
   158     { ELangPolish,                  _S( "pl" ) },
       
   159     { ELangSlovenian,               _S( "sl" ) },
       
   160 
       
   161     // Following three languages are not listed in ISO 639-1 specification.
       
   162     // Decisions based on parent language.
       
   163     { ELangTaiwanChinese,           _S( "zh" ) },
       
   164     { ELangHongKongChinese,         _S( "zh" ) },
       
   165     { ELangPrcChinese,              _S( "zh" ) },
       
   166 
       
   167     { ELangJapanese,                _S( "ja" ) },
       
   168     { ELangThai,                    _S( "th" ) },
       
   169     { ELangAfrikaans,               _S( "af" ) },
       
   170     { ELangAlbanian,                _S( "sq" ) },
       
   171     { ELangAmharic,                 _S( "am" ) },
       
   172 
       
   173     { ELangArabic,                  _S( "ar" ) },
       
   174     { ELangArmenian,                _S( "hy" ) },
       
   175     { ELangTagalog,                 _S( "tl" ) },
       
   176     { ELangBelarussian,             _S( "be" ) },
       
   177     { ELangBengali,                 _S( "bn" ) },
       
   178     { ELangBulgarian,               _S( "bg" ) },
       
   179     { ELangBurmese,                 _S( "my" ) },
       
   180     { ELangCatalan,                 _S( "ca" ) },
       
   181     { ELangCroatian,                _S( "hr" ) },
       
   182 
       
   183     // Following language is not listed in ISO 639-1 specification.
       
   184     // Decisions based on parent language.
       
   185     { ELangCanadianEnglish,         _S( "en" ) },
       
   186 
       
   187     { ELangInternationalEnglish,    _S( "en" ) },
       
   188 
       
   189     // Following language is not listed in ISO 639-1 specification.
       
   190     // Decisions based on parent language.
       
   191     { ELangSouthAfricanEnglish,     _S( "en" ) },
       
   192 
       
   193     { ELangEstonian,                _S( "et" ) },
       
   194     { ELangFarsi,                   _S( "fa" ) },
       
   195 
       
   196     // Following language is not listed in ISO 639-1 specification.
       
   197     // Decisions based on parent language.
       
   198     { ELangCanadianFrench,          _S( "fr" ) },
       
   199 
       
   200     { ELangScotsGaelic,             _S( "gd" ) },
       
   201     { ELangGeorgian,                _S( "ka" ) },
       
   202     { ELangGreek,                   _S( "el" ) },
       
   203 
       
   204     // Following language is not listed in ISO 639-1 specification.
       
   205     // Decisions based on parent language.
       
   206     { ELangCyprusGreek,             _S( "el" ) },
       
   207 
       
   208     { ELangGujarati,                _S( "gu" ) },
       
   209     { ELangHebrew,                  _S( "he" ) },
       
   210     { ELangHindi,                   _S( "hi" ) },
       
   211     { ELangIndonesian,              _S( "id" ) },
       
   212     { ELangIrish,                   _S( "ga" ) },
       
   213 
       
   214     // Following language is not listed in ISO 639-1 specification.
       
   215     // Decisions based on parent language.
       
   216     { ELangSwissItalian,            _S( "it" ) },
       
   217 
       
   218     { ELangKannada,                 _S( "kn" ) },
       
   219     { ELangKazakh,                  _S( "kk" ) },
       
   220     { ELangKhmer,                   _S( "km" ) },
       
   221     { ELangKorean,                  _S( "ko" ) },
       
   222     { ELangLao,                     _S( "lo" ) },
       
   223     { ELangLatvian,                 _S( "lv" ) },
       
   224     { ELangLithuanian,              _S( "lt" ) },
       
   225     { ELangMacedonian,              _S( "mk" ) },
       
   226     { ELangMalay,                   _S( "ms" ) },
       
   227     { ELangMalayalam,               _S( "ml" ) },
       
   228     { ELangMarathi,                 _S( "mr" ) },
       
   229     { ELangMoldavian,               _S( "mo" ) },
       
   230     { ELangMongolian,               _S( "mn" ) },
       
   231     { ELangNorwegianNynorsk,        _S( "nn" ) },
       
   232 
       
   233     // Following language is not listed in ISO 639-1 specification.
       
   234     // Decisions based on parent language.
       
   235     { ELangBrazilianPortuguese,     _S( "pt" ) },
       
   236 
       
   237     { ELangPunjabi,                 _S( "pa" ) },
       
   238     { ELangRomanian,                _S( "ro" ) },
       
   239     { ELangSerbian,                 _S( "sr" ) },
       
   240     { ELangSinhalese,               _S( "si" ) },
       
   241     { ELangSomali,                  _S( "so" ) },
       
   242     { ELangInternationalSpanish,    _S( "es" ) },
       
   243 
       
   244     // Following language is not listed in ISO 639-1 specification.
       
   245     // Decisions based on parent language.
       
   246     { ELangLatinAmericanSpanish,    _S( "es" ) },
       
   247 
       
   248     { ELangSwahili,                 _S( "sw" ) },
       
   249 
       
   250     // Following language is not listed in ISO 639-1 specification.
       
   251     // Decisions based on parent language.
       
   252     { ELangFinlandSwedish,          _S( "sv" ) },
       
   253 
       
   254     { ELangReserved1,               _S( "en" ) },
       
   255     { ELangTamil,                   _S( "ta" ) },
       
   256     { ELangTelugu,                  _S( "te" ) },
       
   257     { ELangTibetan,                 _S( "bo" ) },
       
   258     { ELangTigrinya,                _S( "ti" ) },
       
   259 
       
   260     // Following language is not listed in ISO 639-1 specification.
       
   261     // Decisions based on parent language.
       
   262     { ELangCyprusTurkish,           _S( "tr" ) },
       
   263 
       
   264     { ELangTurkmen,                 _S( "tk" ) },
       
   265     { ELangUkrainian,               _S( "uk" ) },
       
   266     { ELangUrdu,                    _S( "ur" ) },
       
   267     { ELangReserved2,               _S( "en" ) },
       
   268     { ELangVietnamese,              _S( "vi" ) },
       
   269     { ELangWelsh,                   _S( "cy" ) },
       
   270     { ELangZulu,                    _S( "zu" ) },
       
   271 
       
   272     // Series 60 added language codes.
       
   273     { KLangTaiwanEnglish,           _S( "en" ) },
       
   274     { KLangHongKongEnglish,         _S( "en" ) },
       
   275     { KLangPrcEnglish,              _S( "en" ) },
       
   276     { KLangJapaneseEnglish,         _S( "en" ) },
       
   277     { KLangThaiEnglish,             _S( "en" ) },
       
   278     };
       
   279 
       
   280 #define KNUMLANGSTRINGS ( sizeof( KLangStrings ) / sizeof( SLangString ) )
       
   281 
       
   282 #endif      // SATSOPCODES_H
       
   283 
       
   284 // End of File