IMPSengine/enginc/impsservercommon.h
changeset 0 094583676ce7
equal deleted inserted replaced
-1:000000000000 0:094583676ce7
       
     1 /*
       
     2 * Copyright (c) 2002-2005 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: 
       
    15 *     Definitions for engine's internal use.
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 #ifndef IMPSSERVERCOMMON_H
       
    21 #define IMPSSERVERCOMMON_H
       
    22 
       
    23 #include "impsconst.h"
       
    24 
       
    25 // CONSTANTS
       
    26 
       
    27 const TUint KImpsServMajorVersionNumber = 3;
       
    28 const TUint KImpsServMinorVersionNumber = 0;
       
    29 const TUint KImpsServBuildVersionNumber = 0;
       
    30 
       
    31 const TInt KImpsNullId = -1;
       
    32 
       
    33 // needed for creating server thread.
       
    34 const TUint KDefaultHeapSize = 0x10000;
       
    35 const TUint KMaxHeapSize = 0x100000; // This is the default as in ARM
       
    36 
       
    37 _LIT( KImpsServerName, "!CImpsServer" );
       
    38 _LIT( KImpsServerExe, "impsexe.exe" );
       
    39 _LIT( KImpsLibName, "impseng.dll" );
       
    40 
       
    41 // Maximum pending messages allowed for transport
       
    42 // Notice: This limits outgoing messages regardless of
       
    43 //         MultiTrans in CSP session
       
    44 #ifdef _FAKE_RESPONSE
       
    45 const TInt KImpsMaxPending = 1;
       
    46 #else
       
    47 // 4=HTTP stack queue limit, try to avoid problems
       
    48 const TInt KImpsMaxPending = 4;
       
    49 #endif
       
    50 
       
    51 // Default size for packed and streamed messages in Symbian client-server
       
    52 const TInt KImpsStreamSize = 500;
       
    53 
       
    54 // Threshold for IPC client buffer in bytes.
       
    55 // If the current message size exceeds this limit then the buffer
       
    56 // is deleted after the message is handled in a client handle.
       
    57 // This buffer speeds up delivery of short messages by avoiding
       
    58 // extra client-server reaquests for message buffer allocation.
       
    59 const TInt KImpsIPCThreshold = 1500;
       
    60 
       
    61 _LIT( KImpsPanicCategory, "Imps" );
       
    62 _LIT( KImpsVersionStr, "http://www.wireless-village.org/CSP1.1" );
       
    63 _LIT( KImpsVersionStr12, "http://www.openmobilealliance.org/WV-CSP1.2" );
       
    64 _LIT( KSubListHeader, "xmlns=\"http://www.wireless-village.org/PA1.1\"" );
       
    65 
       
    66 _LIT( KImpsDataType, "text/plain" );
       
    67 _LIT( KImpsDataAndCharset, "text/plain" );
       
    68 
       
    69 #ifdef _DEBUG
       
    70 // wvengine.ini is for DEBUG mode only to allow overwriting Cent Rep values
       
    71 _LIT( KImpsIniFile, "\\system\\data\\wvengine.ini" );
       
    72 #endif
       
    73 
       
    74 
       
    75 // Maximum lengths of strings in WV protocol
       
    76 const TInt KImpsMaxTID = 50;    // maximum Transaction ID length
       
    77 const TInt KImpsMaxSID = 50;    // maximum Session ID
       
    78 const TInt KImpsMaxUserId = 50;    // maximum User ID
       
    79 const TInt KImpsMaxClientId = 64;  // maximum Client ID, this is not sure!
       
    80 const TInt KImpsMaxSAP = 255;      // maximum SAP size - updated from 200 to 255
       
    81 const TInt KImpsMaxPwd = 50;       // maximum password
       
    82 const TInt KImpsMaxCookie = 50;    // maximum cookie size
       
    83 
       
    84 // default values if not given in static settings in CentRep
       
    85 // *********************************************************
       
    86 const TInt KImpsAcceptedContentLength = 102400;  // 100kB
       
    87 const TInt KImpsParserSizeMax = 131072;  // 128kB if previous is not bigger
       
    88 const TInt KImpsMultiTrans = 3;
       
    89 const TInt KImpsPollTime = 8;
       
    90 const TInt KImpsAliveTime = 3600;
       
    91 // maximum poll time that's used for adaptive polling in seconds
       
    92 const TInt KImpsMaxPoll = 90;
       
    93 // Poll request time-out in seconds
       
    94 const TInt KImpsPollTO = 20;
       
    95 // KeepAlive request time-out in seconds
       
    96 const TInt KImpsKeepATO = 20;
       
    97 // Default client request expiry time in seconds
       
    98 const TInt KImpsClientExpr = 40;
       
    99 const TInt KImpsFundClientExpr = 120;
       
   100 const TInt KImpsPresClientExpr = 120;
       
   101 // Default CIR expiry time in seconds
       
   102 const TInt KImpsCIRExpr = 8;
       
   103 // Default Poll time in CIR mode in seconds
       
   104 const TInt KImpsCIRModePollTime = 86400;  //24h
       
   105 // Maximum idle time for PDP contect in seconds until it is closed
       
   106 const TInt KImpsPDPMaxIdleTime = 300;
       
   107 // PDP open re-try time period in seconds
       
   108 const TInt KImpsPDPRetryOpenTime = 60;
       
   109 // *********************************************************
       
   110 
       
   111 // status codes from IMPS server
       
   112 const TInt32 KImpsStatusOk = 200;
       
   113 
       
   114 // Mapping used between message type and keys
       
   115 const TUint32 KImpsKeySession                       = 0x0000002D;
       
   116 const TUint32 KImpsKeySessionDescriptor             = 0x0000002E;
       
   117 const TUint32 KImpsKeySessionType                   = 0x00000030;
       
   118 const TUint32 KImpsKeySessionID                     = 0x0000002F;
       
   119 const TUint32 KImpsKeyTransaction                   = 0x00000032;
       
   120 const TUint32 KImpsKeyTransactionDescriptor         = 0x00000034;
       
   121 const TUint32 KImpsKeyTransactionMode               = 0x00000036;
       
   122 const TUint32 KImpsKeyTransactionID                 = 0x00000035;
       
   123 const TUint32 KImpsKeyPoll                          = 0x00000021;
       
   124 const TUint32 KImpsKeyTransactionContent            = 0x00000033;
       
   125 const TUint32 KImpsKeyStatus                        = 0x00000031;
       
   126 const TUint32 KImpsKeyPolling_Request               = 0x00000122;
       
   127 const TUint32 KImpsKeyLogin_Request                 = 0x0000011D;
       
   128 const TUint32 KImpsKeyLogin_Response                = 0x0000011E;
       
   129 const TUint32 KImpsKeyService_Request               = 0x0000012E;
       
   130 const TUint32 KImpsKeyService_Response              = 0x0000012F;
       
   131 const TUint32 KImpsKeyClientCapability_Request      = 0x0000010C;
       
   132 const TUint32 KImpsKeyClientCapability_Response     = 0x0000010D;
       
   133 const TUint32 KImpsKeyLogout_Request                = 0x0000011F;
       
   134 const TUint32 KImpsKeyDisconnect                    = 0x00000110;
       
   135 const TUint32 KImpsKeyKeepAlive_Request             = 0x0000011B;
       
   136 const TUint32 KImpsKeyKeepAlive_Response            = 0x00000129;
       
   137 const TUint32 KImpsKeyGetSPInfo_Request             = 0x00000112;
       
   138 const TUint32 KImpsKeyGetSPInfo_Response            = 0x00000113;
       
   139 const TUint32 KImpsKeySearch_Request                = 0x0000012B;
       
   140 const TUint32 KImpsKeyStopSearch_Request            = 0x00000131;
       
   141 const TUint32 KImpsKeySearch_Response               = 0x0000012C;
       
   142 const TUint32 KImpsKeyCompletionFlag                = 0x00000134;
       
   143 const TUint32 KImpsKeyInvite_Request                = 0x00000116;
       
   144 const TUint32 KImpsKeyInvite_Response               = 0x00000117;
       
   145 const TUint32 KImpsKeyInviteUser_Request            = 0x00000119;
       
   146 const TUint32 KImpsKeyInviteUser_Response           = 0x0000011A;
       
   147 const TUint32 KImpsKeyCancelInvite_Request          = 0x00000107;
       
   148 const TUint32 KImpsKeyCancelInviteUser_Request      = 0x00000108;
       
   149 const TUint32 KImpsKeySubscribePresence_Request     = 0x0000041D;
       
   150 const TUint32 KImpsKeyUnsubscribePresence_Request   = 0x00000418;
       
   151 const TUint32 KImpsKeyPresenceNotification_Request  = 0x0000041B;
       
   152 const TUint32 KImpsKeyGetWatcherList_Request        = 0x00000414;
       
   153 const TUint32 KImpsKeyGetWatcherList_Response       = 0x00000415;
       
   154 const TUint32 KImpsKeyGetPresence_Request           = 0x00000412;
       
   155 const TUint32 KImpsKeyGetPresence_Response          = 0x00000413;
       
   156 const TUint32 KImpsKeyPresenceAuth_Request          = 0x00000419;
       
   157 const TUint32 KImpsKeyPresenceAuth_User             = 0x0000041A;
       
   158 const TUint32 KImpsKeyCancelAuth_Request            = 0x00000405;
       
   159 const TUint32 KImpsKeyUpdatePresence_Request        = 0x0000041C;
       
   160 const TUint32 KImpsKeyGetList_Request               = 0x00000410;
       
   161 const TUint32 KImpsKeyGetList_Response              = 0x00000411;
       
   162 const TUint32 KImpsKeyCreateList_Request            = 0x00000408;
       
   163 const TUint32 KImpsKeyDeleteList_Request            = 0x0000040D;
       
   164 const TUint32 KImpsKeyListManage_Request            = 0x00000416;
       
   165 const TUint32 KImpsKeyListManage_Response           = 0x00000417;
       
   166 const TUint32 KImpsKeyCreateAttributeList_Request   = 0x00000407;
       
   167 const TUint32 KImpsKeyDeleteAttributeList_Request   = 0x0000040C;
       
   168 const TUint32 KImpsKeyGetAttributeList_Request      = 0x0000040E;
       
   169 const TUint32 KImpsKeyGetAttributeList_Response     = 0x0000040F;
       
   170 const TUint32 KImpsKeySendMessage_Request           = 0x00000617;
       
   171 const TUint32 KImpsKeySendMessage_Response          = 0x00000618;
       
   172 const TUint32 KImpsKeySetDeliveryMethod_Request     = 0x00000619;
       
   173 const TUint32 KImpsKeyGetMessageList_Request        = 0x0000060D;
       
   174 const TUint32 KImpsKeyGetMessageList_Response       = 0x0000060E;
       
   175 const TUint32 KImpsKeyRejectMessage_Request         = 0x00000616;
       
   176 const TUint32 KImpsKeyMessageNotification           = 0x00000614;
       
   177 const TUint32 KImpsKeyGetMessage_Request            = 0x0000060F;
       
   178 const TUint32 KImpsKeyGetMessage_Response           = 0x00000610;
       
   179 const TUint32 KImpsKeyNewMessage                    = 0x00000615;
       
   180 const TUint32 KImpsKeyMessageDelivered              = 0x00000612;
       
   181 const TUint32 KImpsKeyDeliveryReport_Request        = 0x00000609;
       
   182 const TUint32 KImpsKeyDeliveryTime                  = 0x0000061A;
       
   183 const TUint32 KImpsKeyForwardMessage_Request        = 0x0000060A;
       
   184 const TUint32 KImpsKeyGetBlockedList_Request        = 0x0000060B;
       
   185 const TUint32 KImpsKeyGetBlockedList_Response       = 0x0000060C;
       
   186 const TUint32 KImpsKeyBlockEntity_Request           = 0x00000606;
       
   187 const TUint32 KImpsKeyCreateGroup_Request           = 0x00000707;
       
   188 const TUint32 KImpsKeyDeleteGroup_Request           = 0x00000708;
       
   189 const TUint32 KImpsKeyJoinGroup_Request             = 0x00000711;
       
   190 const TUint32 KImpsKeyJoinGroup                     = 0x00000721;
       
   191 const TUint32 KImpsKeySubscribeNotification         = 0x00000722;
       
   192 const TUint32 KImpsKeyJoinGroup_Response            = 0x00000712;
       
   193 const TUint32 KImpsKeyLeaveGroup_Request            = 0x00000713;
       
   194 const TUint32 KImpsKeyLeaveGroup_Response           = 0x00000714;
       
   195 const TUint32 KImpsKeyGetGroupMembers_Request       = 0x00000709;
       
   196 const TUint32 KImpsKeyGetGroupMembers_Response      = 0x0000070A;
       
   197 const TUint32 KImpsKeyAddGroupMembers_Request       = 0x00000705;
       
   198 const TUint32 KImpsKeyRemoveGroupMembers_Request    = 0x0000071B;
       
   199 const TUint32 KImpsKeyMemberAccess_Request          = 0x00000716;
       
   200 const TUint32 KImpsKeyGetGroupProps_Request         = 0x0000070B;
       
   201 const TUint32 KImpsKeyGetGroupProps_Response        = 0x0000070C;
       
   202 const TUint32 KImpsKeySetGroupProps_Request         = 0x0000071C;
       
   203 const TUint32 KImpsKeyRejectList_Request            = 0x00000719;
       
   204 const TUint32 KImpsKeyRejectList_Response           = 0x0000071A;
       
   205 const TUint32 KImpsKeySubscribeGroupNotice_Request  = 0x0000071D;
       
   206 const TUint32 KImpsKeySubscribeGroupNotice_Response = 0x0000071E;
       
   207 const TUint32 KImpsKeyGroupChangeNotice             = 0x0000070D;
       
   208 const TUint32 KImpsKeyDigestBytes                   = 0x0000010E;
       
   209 const TUint32 KImpsKeyDigestSchema                  = 0x0000010F;
       
   210 const TUint32 KImpsKeyPassword                      = 0x00000121;
       
   211 const TUint32 KImpsKeyNonce                         = 0x00000120;
       
   212 const TUint32 KImpsKeyCapabilityRequest             = 0x0000010B;
       
   213 const TUint32 KImpsKeyCapabilityList                = 0x0000010A;
       
   214 const TUint32 KImpsKeyClientType                    = 0x0000050F;
       
   215 const TUint32 KImpsKeyInitialDeliveryMethod         = 0x0000030B;
       
   216 const TUint32 KImpsKeyAnyContent                    = 0x00000309;
       
   217 const TUint32 KImpsKeyAcceptedCharSet               = 0x00000305;
       
   218 const TUint32 KImpsKeyAcceptedContentType           = 0x00000307;
       
   219 const TUint32 KImpsKeyAcceptedTransferEncoding      = 0x00000308;
       
   220 const TUint32 KImpsKeyAcceptedContentLength         = 0x00000306;
       
   221 const TUint32 KImpsKeySupportedBearer               = 0x0000030F;
       
   222 const TUint32 KImpsKeyMultiTrans                    = 0x0000030C;
       
   223 const TUint32 KImpsKeyParserSize                    = 0x0000030D;
       
   224 const TUint32 KImpsKeySupportedCIRMethod            = 0x00000310;
       
   225 const TUint32 KImpsKeyUDPPort                       = 0x00000313;
       
   226 const TUint32 KImpsKeyTCPAddress                    = 0x00000311;
       
   227 const TUint32 KImpsKeyTCPPort                       = 0x00000312;
       
   228 const TUint32 KImpsKeyServerPollMin                 = 0x0000030E;
       
   229 const TUint32 KImpsKeyDefaultLanguage               = 0x0000030A;
       
   230 const TUint32 KImpsKeyResult                        = 0x0000002A;
       
   231 const TUint32 KImpsKeyCode                          = 0x0000000B;
       
   232 const TUint32 KImpsKeyDescription                   = 0x00000012;
       
   233 const TUint32 KImpsKeyDetailedResult                = 0x00000013;
       
   234 const TUint32 KImpsKeySessionCookie                 = 0x00000130;
       
   235 const TUint32 KImpsKeySender                        = 0x0000002C;
       
   236 const TUint32 KImpsKeyRecipient                     = 0x00000027;
       
   237 const TUint32 KImpsKeyUser                          = 0x00000039;
       
   238 const TUint32 KImpsKeyGroup                         = 0x00000015;
       
   239 const TUint32 KImpsKeyUserID                        = 0x0000003A;
       
   240 const TUint32 KImpsKeyClientID                      = 0x0000000A;
       
   241 const TUint32 KImpsKeyGroupID                       = 0x00000016;
       
   242 const TUint32 KImpsKeyMessageID                     = 0x0000001B;
       
   243 const TUint32 KImpsKeyMessageURI                    = 0x0000001C;
       
   244 const TUint32 KImpsKeyScreenName                    = 0x0000002B;
       
   245 const TUint32 KImpsKeyNickName                      = 0x00000020;
       
   246 const TUint32 KImpsKeyURLList                       = 0x00000038;
       
   247 const TUint32 KImpsKeyURL                           = 0x00000037;
       
   248 const TUint32 KImpsKeyMSISDN                        = 0x0000001D;
       
   249 const TUint32 KImpsKeyGroupList                     = 0x00000017;
       
   250 const TUint32 KImpsKeyUserList                      = 0x0000003B;
       
   251 const TUint32 KImpsKeyContactList                   = 0x0000000C;
       
   252 const TUint32 KImpsKeyDefaultContactList            = 0x0000040A;
       
   253 const TUint32 KImpsKeyNickList                      = 0x0000001F;
       
   254 const TUint32 KImpsKeyAddNickList                   = 0x00000007;
       
   255 const TUint32 KImpsKeyRemoveNickList                = 0x00000029;
       
   256 const TUint32 KImpsKeyDefaultList                   = 0x0000040B;
       
   257 const TUint32 KImpsKeySearchPairList                = 0x0000012A;
       
   258 const TUint32 KImpsKeySearchElement                 = 0x00000124;
       
   259 const TUint32 KImpsKeySearchString                  = 0x00000133;
       
   260 const TUint32 KImpsKeySearchLimit                   = 0x00000128;
       
   261 const TUint32 KImpsKeySearchID                      = 0x00000126;
       
   262 const TUint32 KImpsKeySearchIndex                   = 0x00000127;
       
   263 const TUint32 KImpsKeySearchFindings                = 0x00000125;
       
   264 const TUint32 KImpsKeySearchResult                  = 0x0000012D;
       
   265 const TUint32 KImpsKeyInviteID                      = 0x00000114;
       
   266 const TUint32 KImpsKeyInviteType                    = 0x00000118;
       
   267 const TUint32 KImpsKeyInviteNote                    = 0x00000115;
       
   268 const TUint32 KImpsKeyAcceptance                    = 0x00000005;
       
   269 const TUint32 KImpsKeyResponseNote                  = 0x00000123;
       
   270 const TUint32 KImpsKeyDefaultAttributeList          = 0x00000409;
       
   271 const TUint32 KImpsKeyPresence                      = 0x00000022;
       
   272 const TUint32 KImpsKeyPresenceSubList               = 0x00000023;
       
   273 const TUint32 KImpsKeyKeepAliveTime                 = 0x0000011C;
       
   274 const TUint32 KImpsKeyTimeToLive                    = 0x00000132;
       
   275 const TUint32 KImpsKeySName                         = 0x00000008;
       
   276 const TUint32 KImpsKeyName                          = 0x0000001E;
       
   277 const TUint32 KImpsKeyValue                         = 0x0000003D;
       
   278 const TUint32 KImpsKeyValidity                      = 0x0000003C;
       
   279 const TUint32 KImpsKeyMessageInfo                   = 0x00000613;
       
   280 const TUint32 KImpsKeyDateTime                      = 0x00000011;
       
   281 const TUint32 KImpsKeyMessageCount                  = 0x0000001A;
       
   282 const TUint32 KImpsKeyDeliveryReport                = 0x00000608;
       
   283 const TUint32 KImpsKeyDeliveryMethod                = 0x00000607;
       
   284 const TUint32 KImpsKeyBlockList                     = 0x00000605;
       
   285 const TUint32 KImpsKeyGrantList                     = 0x00000611;
       
   286 const TUint32 KImpsKeyEntityList                    = 0x00000014;
       
   287 const TUint32 KImpsKeyAddList                       = 0x00000006;
       
   288 const TUint32 KImpsKeyRemoveList                    = 0x00000028;
       
   289 const TUint32 KImpsKeyInUse                         = 0x00000018;
       
   290 const TUint32 KImpsKeyContactListProperties         = 0x00000406;
       
   291 const TUint32 KImpsKeyGroupProperties               = 0x0000070E;
       
   292 const TUint32 KImpsKeyOwnProperties                 = 0x00000718;
       
   293 const TUint32 KImpsKeyProperty                      = 0x00000025;
       
   294 const TUint32 KImpsKeyWelcomeNote                   = 0x00000720;
       
   295 const TUint32 KImpsKeyJoinedRequest                 = 0x00000710;
       
   296 const TUint32 KImpsKeyAdmin                         = 0x00000706;
       
   297 const TUint32 KImpsKeyMod                           = 0x00000717;
       
   298 const TUint32 KImpsKeyUsers                         = 0x0000071F;
       
   299 const TUint32 KImpsKeySubscribeType                 = 0x00000723;
       
   300 const TUint32 KImpsKeyJoined                        = 0x0000070F;
       
   301 const TUint32 KImpsKeyLeft                          = 0x00000715;
       
   302 const TUint32 KImpsKeyLogo                          = 0x00000019;
       
   303 const TUint32 KImpsKeyContentType                   = 0x00000010;
       
   304 const TUint32 KImpsKeyContentData                   = 0x0000000D;
       
   305 const TUint32 KImpsKeyContentSize                   = 0x0000000F;
       
   306 const TUint32 KImpsKeyContentEncoding               = 0x0000000E;
       
   307 const TUint32 KImpsKeyAllFunctionsRequest           = 0x00000106;
       
   308 const TUint32 KImpsKeyAllFunctions                  = 0x00000105;
       
   309 const TUint32 KImpsKeyFunctions                     = 0x00000111;
       
   310 const TUint32 KImpsKeyWVCSPFeat                     = 0x0000023C;
       
   311 const TUint32 KImpsKeyFundamentalFeat               = 0x00000211;
       
   312 const TUint32 KImpsKeyPresenceFeat                  = 0x0000022F;
       
   313 const TUint32 KImpsKeyIMFeat                        = 0x00000223;
       
   314 const TUint32 KImpsKeyGroupFeat                     = 0x0000021F;
       
   315 const TUint32 KImpsKeyServiceFunc                   = 0x00000235;
       
   316 const TUint32 KImpsKeySearchFunc                    = 0x00000234;
       
   317 const TUint32 KImpsKeyInviteFunc                    = 0x00000227;
       
   318 const TUint32 KImpsKeyContListFunc                  = 0x0000020C;
       
   319 const TUint32 KImpsKeyPresenceAuthFunc              = 0x0000022D;
       
   320 const TUint32 KImpsKeyPresenceDeliverFunc           = 0x0000022E;
       
   321 const TUint32 KImpsKeyAttListFunc                   = 0x00000206;
       
   322 const TUint32 KImpsKeyIMSendFunc                    = 0x00000225;
       
   323 const TUint32 KImpsKeyIMReceiveFunc                 = 0x00000224;
       
   324 const TUint32 KImpsKeyIMAuthFunc                    = 0x00000222;
       
   325 const TUint32 KImpsKeyGroupMgmtFunc                 = 0x00000220;
       
   326 const TUint32 KImpsKeyGroupUseFunc                  = 0x00000221;
       
   327 const TUint32 KImpsKeyGroupAuthFunc                 = 0x0000021E;
       
   328 const TUint32 KImpsKeyGETSPI                        = 0x0000021A;
       
   329 const TUint32 KImpsKeySRCH                          = 0x00000238;
       
   330 const TUint32 KImpsKeySTSRC                         = 0x00000239;
       
   331 const TUint32 KImpsKeyINVIT                         = 0x00000226;
       
   332 const TUint32 KImpsKeyCAINV                         = 0x00000209;
       
   333 const TUint32 KImpsKeyGCLI                          = 0x00000214;
       
   334 const TUint32 KImpsKeyCCLI                          = 0x0000020B;
       
   335 const TUint32 KImpsKeyDCLI                          = 0x0000020F;
       
   336 const TUint32 KImpsKeyMCLS                          = 0x00000229;
       
   337 const TUint32 KImpsKeyGETWL                         = 0x0000021B;
       
   338 const TUint32 KImpsKeyREACT                         = 0x00000230;
       
   339 const TUint32 KImpsKeyCAAUT                         = 0x00000208;
       
   340 const TUint32 KImpsKeyGETPR                         = 0x00000219;
       
   341 const TUint32 KImpsKeyUPDPR                         = 0x0000023B;
       
   342 const TUint32 KImpsKeyCALI                          = 0x0000020A;
       
   343 const TUint32 KImpsKeyDALI                          = 0x0000020E;
       
   344 const TUint32 KImpsKeyGALS                          = 0x00000213;
       
   345 const TUint32 KImpsKeyMDELIV                        = 0x0000022A;
       
   346 const TUint32 KImpsKeyFWMSG                         = 0x00000212;
       
   347 const TUint32 KImpsKeySETD                          = 0x00000236;
       
   348 const TUint32 KImpsKeyGETLM                         = 0x00000217;
       
   349 const TUint32 KImpsKeyGETM                          = 0x00000218;
       
   350 const TUint32 KImpsKeyREJCM                         = 0x00000231;
       
   351 const TUint32 KImpsKeyNOTIF                         = 0x0000022C;
       
   352 const TUint32 KImpsKeyNEWM                          = 0x0000022B;
       
   353 const TUint32 KImpsKeyGLBLU                         = 0x0000021C;
       
   354 const TUint32 KImpsKeyBLENT                         = 0x00000207;
       
   355 const TUint32 KImpsKeyCREAG                         = 0x0000020D;
       
   356 const TUint32 KImpsKeyDELGR                         = 0x00000210;
       
   357 const TUint32 KImpsKeyGETGP                         = 0x00000216;
       
   358 const TUint32 KImpsKeySETGP                         = 0x00000237;
       
   359 const TUint32 KImpsKeySUBGCN                        = 0x0000023A;
       
   360 const TUint32 KImpsKeyGRCHN                         = 0x0000021D;
       
   361 const TUint32 KImpsKeyGETGM                         = 0x00000215;
       
   362 const TUint32 KImpsKeyADDGM                         = 0x00000205;
       
   363 const TUint32 KImpsKeyRMVGM                         = 0x00000233;
       
   364 const TUint32 KImpsKeyMBRAC                         = 0x00000228;
       
   365 const TUint32 KImpsKeyREJEC                         = 0x00000232;
       
   366 
       
   367 const TUint32 KImpsKeyPRQualifier				    = 0x00000026;
       
   368 const TUint32 KImpsKeyPRPresenceValue               = 0x00000024;
       
   369 const TUint32 KImpsKeyPROnlineStatus                = 0x00000521;
       
   370 const TUint32 KImpsKeyPRRegistration                = 0x00000528;
       
   371 const TUint32 KImpsKeyPRFreeTextLocation            = 0x0000051A;
       
   372 const TUint32 KImpsKeyPRPLMN                        = 0x00000522;
       
   373 const TUint32 KImpsKeyPRUserAvailability            = 0x0000052E;
       
   374 const TUint32 KImpsKeyPRPreferredLanguage           = 0x00000525;
       
   375 const TUint32 KImpsKeyPRStatusText                  = 0x0000052B;
       
   376 const TUint32 KImpsKeyPRStatusMood                  = 0x0000052A;
       
   377 const TUint32 KImpsKeyPRAlias                       = 0x00000508;
       
   378 const TUint32 KImpsKeyPRClientInfo                  = 0x0000050D;
       
   379 const TUint32 KImpsKeyPRClientType                  = 0x0000050F;
       
   380 const TUint32 KImpsKeyPRDevManufacturer             = 0x00000518;
       
   381 const TUint32 KImpsKeyPRClientProducer              = 0x0000050E;
       
   382 const TUint32 KImpsKeyPRModel                       = 0x0000051F;
       
   383 const TUint32 KImpsKeyPRClientVersion               = 0x00000510;
       
   384 const TUint32 KImpsKeyPRLanguage                    = 0x0000051C;
       
   385 const TUint32 KImpsKeyPRTimeZone                    = 0x0000052D;
       
   386 const TUint32 KImpsKeyPRZone                        = 0x00000535;
       
   387 const TUint32 KImpsKeyPRGeoLocation                 = 0x0000051B;
       
   388 const TUint32 KImpsKeyPRLongitude                   = 0x0000051E;
       
   389 const TUint32 KImpsKeyPRLatitude                    = 0x0000051D;
       
   390 const TUint32 KImpsKeyPRAltitude                    = 0x00000509;
       
   391 const TUint32 KImpsKeyPRAccuracy                    = 0x00000505;
       
   392 const TUint32 KImpsKeyPRAddress                     = 0x00000506;
       
   393 const TUint32 KImpsKeyPRCountry                     = 0x00000515;
       
   394 const TUint32 KImpsKeyPRCity                        = 0x0000050C;
       
   395 const TUint32 KImpsKeyPRStreet                      = 0x0000052C;
       
   396 const TUint32 KImpsKeyPRCrossing1                   = 0x00000516;
       
   397 const TUint32 KImpsKeyPRCrossing2                   = 0x00000517;
       
   398 const TUint32 KImpsKeyPRBuilding                    = 0x0000050A;
       
   399 const TUint32 KImpsKeyPRNamedArea                   = 0x00000520;
       
   400 const TUint32 KImpsKeyPRCommCap                     = 0x00000512;
       
   401 const TUint32 KImpsKeyPRCommC                       = 0x00000511;
       
   402 const TUint32 KImpsKeyPRCap                         = 0x0000052F;
       
   403 const TUint32 KImpsKeyPRStatus                      = 0x00000031; //???????????????
       
   404 const TUint32 KImpsKeyPRContact                     = 0x00000531;
       
   405 const TUint32 KImpsKeyPRNote                        = 0x00000534;
       
   406 const TUint32 KImpsKeyPRPreferredContacts           = 0x00000524;
       
   407 const TUint32 KImpsKeyPRAddrPref                    = 0x00000507;
       
   408 const TUint32 KImpsKeyPRPrefC                       = 0x00000523;
       
   409 const TUint32 KImpsKeyPRCaddr                       = 0x0000050B;
       
   410 const TUint32 KImpsKeyPRCstatus                     = 0x00000533;
       
   411 const TUint32 KImpsKeyPRCname                       = 0x00000530;
       
   412 const TUint32 KImpsKeyPRCpriority                   = 0x00000532;
       
   413 const TUint32 KImpsKeyPRStatusContent               = 0x00000529;
       
   414 const TUint32 KImpsKeyPRDirectContent               = 0x00000519;
       
   415 const TUint32 KImpsKeyPRReferredContent             = 0x00000526;
       
   416 const TUint32 KImpsKeyPRContactInfo                 = 0x00000513;
       
   417 const TUint32 KImpsKeyPRContainedvCard              = 0x00000514;
       
   418 const TUint32 KImpsKeyPRReferredvCard               = 0x00000527;
       
   419 
       
   420 //////////////////////////////////////////////////////////////////////////
       
   421 // CSP 1.2 additions
       
   422 const TUint32 KImpsKeyAgreedCapabilityList          = 0x0000013A;
       
   423 const TUint32 KImpsKeyExtended_Request              = 0x00000138;
       
   424 const TUint32 KImpsKeyExtended_Response             = 0x00000139;
       
   425 const TUint32 KImpsKeyExtendedData                  = 0x0000013B;
       
   426 const TUint32 KImpsKeyOtherServer                   = 0x0000013C;
       
   427 const TUint32 KImpsKeyPresenceAttributeNSName       = 0x0000013D;
       
   428 const TUint32 KImpsKeyReceiveList                   = 0x00000136;
       
   429 const TUint32 KImpsKeySessionNSName                 = 0x0000013E;
       
   430 const TUint32 KImpsKeyTransactionNSName             = 0x0000013F;
       
   431 const TUint32 KImpsKeyVerifyID_Request              = 0x00000137;
       
   432 const TUint32 KImpsKeyMF                            = 0x0000023D;
       
   433 const TUint32 KImpsKeyMG                            = 0x0000023E;
       
   434 const TUint32 KImpsKeyMM                            = 0x0000023F;
       
   435 const TUint32 KImpsKeyAuto_Subscribe                = 0x0000041E;
       
   436 const TUint32 KImpsKeyGetReactiveAuthStatus_Request = 0x0000041F;
       
   437 const TUint32 KImpsKeyGetReactiveAuthStatus_Response = 0x00000420;
       
   438 const TUint32 KImpsKeyInf_link                      = 0x00000537;
       
   439 const TUint32 KImpsKeyInfoLink                      = 0x00000538;
       
   440 const TUint32 KImpsKeyLink                          = 0x00000539;
       
   441 const TUint32 KImpsKeyText                          = 0x0000053A;
       
   442 const TUint32 KImpsKeyAdminMapList                  = 0x00000726;
       
   443 const TUint32 KImpsKeyAdminMapping                  = 0x00000727;
       
   444 const TUint32 KImpsKeyGetJoinedUsers_Request        = 0x00000724;
       
   445 const TUint32 KImpsKeyGetJoinedUsers_Respone        = 0x00000725;
       
   446 const TUint32 KImpsKeyMapping                       = 0x00000728;
       
   447 const TUint32 KImpsKeyUserMapList                   = 0x0000072A;
       
   448 const TUint32 KImpsKeyUserMapping                   = 0x0000072B;
       
   449 const TUint32 KImpsKeyGETAUT                        = 0x00000806;
       
   450 const TUint32 KImpsKeyGETJU                         = 0x00000807;
       
   451 const TUint32 KImpsKeyMP                            = 0x00000805;
       
   452 const TUint32 KImpsKeyVRID                          = 0x00000808;
       
   453 const TUint32 KImpsKeyVerifyIDFunc                  = 0x00000809;
       
   454 const TUint32 KImpsKeyCIR                           = 0x00000905;
       
   455 const TUint32 KImpsKeyDomain                        = 0x00000906;
       
   456 const TUint32 KImpsKeyExtBlock                      = 0x00000907;
       
   457 const TUint32 KImpsKeyHistoryPeriod                 = 0x00000908;
       
   458 const TUint32 KImpsKeyIDList                        = 0x00000909;
       
   459 const TUint32 KImpsKeyMaxWatcherList                = 0x0000090A;
       
   460 const TUint32 KImpsKeyReactiveAuthState             = 0x0000090B;
       
   461 const TUint32 KImpsKeyReactiveAuthStatus            = 0x0000090C;
       
   462 const TUint32 KImpsKeyReactiveAuthStatusList        = 0x0000090D;
       
   463 const TUint32 KImpsKeyWatcher                       = 0x0000090E;
       
   464 const TUint32 KImpsKeyWatcherStatus                 = 0x0000090F;
       
   465 const TUint32 KImpsKeyWV_CSPVersionDiscovery_Request  = 0x00000A05;
       
   466 const TUint32 KImpsKeyWV_CSPVersionDiscovery_Response = 0x00000A06;
       
   467 const TUint32 KImpsKeyVersionList                   = 0x00000A07;
       
   468 //////////////////////////////////////////////////////////////////////////
       
   469 
       
   470 const TUint32 KImpsKeyAPIClient                     = 0x0000FFFB;
       
   471 const TUint32 KImpsKeyPureData                      = 0x0000FFFC;
       
   472 const TUint32 KImpsKeyPRExt                         = 0x0000FFFD;
       
   473 const TUint32 KImpsKeyPREND                         = 0x0000FFFE;
       
   474 const TUint32 KImpsKeyEND                           = 0x0000FFFF;
       
   475 
       
   476 
       
   477 // Event types (service type)
       
   478 enum TImpsEventType
       
   479     {
       
   480     EImpsEventNone = 0x0000,
       
   481     EImpsEventServerLogin = 0x0001,
       
   482     EImpsEventMessage = 0x0002,
       
   483     EImpsEventPresence = 0x0004,
       
   484     EImpsEventGroup = 0x0010,
       
   485     EImpsEventCommon = 0x0100,
       
   486     EImpsEventPure = 0x01000,  // pure client
       
   487     EImpsEventPresencePure = 0x01004,
       
   488     EImpsEventAll = 0xFFFF     // special bit mask enum
       
   489     };
       
   490 
       
   491 
       
   492 // Values for Message-Type field
       
   493 enum TImpsMessageType
       
   494     {
       
   495     // Undefined
       
   496     EImpsMessageNone                   = 0,
       
   497     // Common
       
   498     EImpsStatus                        = KImpsKeyStatus,
       
   499     EImpsKeepAliveReq                  = KImpsKeyKeepAlive_Request,
       
   500     EImpsKeepAliveRes                  = KImpsKeyKeepAlive_Response,
       
   501     EImpsPolling                       = KImpsKeyPolling_Request,
       
   502     EImpsClientCapabilityReq           = KImpsKeyClientCapability_Request,
       
   503     EImpsClientCapabilityRes           = KImpsKeyClientCapability_Response,
       
   504     EImpsServiceReq                    = KImpsKeyService_Request,
       
   505     EImpsServiceRes                    = KImpsKeyService_Response,
       
   506     // Access
       
   507     EImpsLoginReq                      = KImpsKeyLogin_Request,
       
   508     EImpsLoginRes                      = KImpsKeyLogin_Response,
       
   509     EImpsLogoutReq                     = KImpsKeyLogout_Request,
       
   510     EImpsDisconnect                    = KImpsKeyDisconnect,
       
   511     // IM
       
   512     EImpsSendMessageReq                = KImpsKeySendMessage_Request,
       
   513     EImpsSendMessageRes                = KImpsKeySendMessage_Response,
       
   514     EImpsGetMessageReq                 = KImpsKeyGetMessage_Request,
       
   515     EImpsNewMessage                    = KImpsKeyNewMessage,
       
   516     EImpsMessageDelivered              = KImpsKeyMessageDelivered,
       
   517     EImpsGetBlockedListReq             = KImpsKeyGetBlockedList_Request,
       
   518     EImpsGetBlockedListRes             = KImpsKeyGetBlockedList_Response,
       
   519     EImpsBlockEntityReq                = KImpsKeyBlockEntity_Request,
       
   520     EImpsDeliveryReportReq             = KImpsKeyDeliveryReport_Request,
       
   521     // Presence
       
   522     EImpsSubscribePresenceReq          = KImpsKeySubscribePresence_Request,
       
   523     EImpsUnsubscribePresenceReq        = KImpsKeyUnsubscribePresence_Request,
       
   524     EImpsGetPresenceReq                = KImpsKeyGetPresence_Request,
       
   525     EImpsGetPresenceRes                = KImpsKeyGetPresence_Response,
       
   526     EImpsUpdatePresenceReq             = KImpsKeyUpdatePresence_Request,
       
   527     EImpsPresenceNotification          = KImpsKeyPresenceNotification_Request,
       
   528     EImpsCreateAttrListReq             = KImpsKeyCreateAttributeList_Request,
       
   529     EImpsPresenceAuthReq               = KImpsKeyPresenceAuth_Request,
       
   530     EImpsGetWatcherListReq             = KImpsKeyGetWatcherList_Request,
       
   531     EImpsGetWatcherListRes             = KImpsKeyGetWatcherList_Response,
       
   532     EImpsPresenceAuthUser              = KImpsKeyPresenceAuth_User,
       
   533     EImpsCancelAuthReq                 = KImpsKeyCancelAuth_Request,
       
   534     EImpsGetListReq                    = KImpsKeyGetList_Request,
       
   535     EImpsGetListRes                    = KImpsKeyGetList_Response,
       
   536     EImpsCreateListReq                 = KImpsKeyCreateList_Request,
       
   537     EImpsDeleteListReq                 = KImpsKeyDeleteList_Request,
       
   538     EImpsListManageReq                 = KImpsKeyListManage_Request,
       
   539     EImpsListManageRes                 = KImpsKeyListManage_Response,
       
   540     EImpsDeleteAttrListReq             = KImpsKeyDeleteAttributeList_Request,
       
   541     EImpsGetAttrListReq                = KImpsKeyGetAttributeList_Request,
       
   542     EImpsGetAttrListRes                = KImpsKeyGetAttributeList_Response,
       
   543     // CSP 1.2
       
   544     EImpsGetReactiveAuthStatusReq      = KImpsKeyGetReactiveAuthStatus_Request,
       
   545     EImpsGetReactiveAuthStatusRes      = KImpsKeyGetReactiveAuthStatus_Response,
       
   546 
       
   547     // Group
       
   548     EImpsCreateGroupReq                = KImpsKeyCreateGroup_Request,
       
   549     EImpsDeleteGroupReq                = KImpsKeyDeleteGroup_Request,
       
   550     EImpsJoinGroupReq                  = KImpsKeyJoinGroup_Request,
       
   551     EImpsJoinGroupRes                  = KImpsKeyJoinGroup_Response,
       
   552     EImpsLeaveGroupReq                 = KImpsKeyLeaveGroup_Request,
       
   553     EImpsLeaveGroupRes                 = KImpsKeyLeaveGroup_Response,
       
   554     EImpsGroupMembersReq               = KImpsKeyGetGroupMembers_Request,
       
   555     EImpsGroupMembersRes               = KImpsKeyGetGroupMembers_Response,
       
   556     EImpsAddGroupMembersReq            = KImpsKeyAddGroupMembers_Request,
       
   557     EImpsRemoveGroupMembersReq         = KImpsKeyRemoveGroupMembers_Request,
       
   558     EImpsGroupMemberAccessReq          = KImpsKeyMemberAccess_Request,
       
   559     EImpsGroupPropertiesReq            = KImpsKeyGetGroupProps_Request,
       
   560     EImpsGroupPropertiesRes            = KImpsKeyGetGroupProps_Response,
       
   561     EImpsSetGroupPropertiesReq         = KImpsKeySetGroupProps_Request,
       
   562     EImpsGroupRejectListReq            = KImpsKeyRejectList_Request,
       
   563     EImpsGroupRejectListRes            = KImpsKeyRejectList_Response,
       
   564     EImpsSubsGroupNoticeReq            = KImpsKeySubscribeGroupNotice_Request,
       
   565     EImpsSubsGroupNoticeRes            = KImpsKeySubscribeGroupNotice_Response,
       
   566     EImpsGroupChangeNotice             = KImpsKeyGroupChangeNotice,
       
   567     // CSP 1.2
       
   568     EImpsGetJoinedUsersReq             = KImpsKeyGetJoinedUsers_Request,
       
   569     EImpsGetJoinedUsersRes             = KImpsKeyGetJoinedUsers_Respone,
       
   570 
       
   571 
       
   572     // Fundamental
       
   573     EImpsSearchReq                     = KImpsKeySearch_Request,
       
   574     EImpsStopSearchReq                 = KImpsKeyStopSearch_Request,
       
   575     EImpsSearchRes                     = KImpsKeySearch_Response,
       
   576     EImpsInviteReq                     = KImpsKeyInvite_Request,
       
   577     EImpsInviteRes                     = KImpsKeyInvite_Response,
       
   578     EImpsInviteUserReq                 = KImpsKeyInviteUser_Request,
       
   579     EImpsInviteUserRes                 = KImpsKeyInviteUser_Response,
       
   580     EImpsCancelInviteReq               = KImpsKeyCancelInvite_Request,
       
   581     EImpsCancelInviteUserReq           = KImpsKeyCancelInviteUser_Request,
       
   582     // CSP 1.2
       
   583     EImpsVerifyIDReq                   = KImpsKeyVerifyID_Request,
       
   584 
       
   585     // Pure data
       
   586     EImpsPureData                      = KImpsKeyPureData,
       
   587     // THE FOLLOWING ONES ARE NOT REAL PRIMITIVES BUT USED
       
   588     // INTERNALLY IN ENGINE
       
   589     EImpsSubsGroupNoticeUnset          = KImpsKeyEND + 1,
       
   590     EImpsSubsGroupNoticeGet            = KImpsKeyEND + 2,
       
   591     EImpsSubsGroupNoticeSet            = KImpsKeyEND + 3,
       
   592     EImpsNewUsers                      = KImpsKeyEND + 4,
       
   593     EImpsLeftUsers                     = KImpsKeyEND + 5
       
   594     };
       
   595 
       
   596 // This is also in client API with different name, but if we split into dlls
       
   597 // then this is better to be in this way. Or move to impsconst.h.
       
   598 enum EImpsInternalStatus
       
   599     {
       
   600     EInternal_ON_LINE,
       
   601     EInternal_OFF_LINE,
       
   602     EInternal_NOT_LOGGED,
       
   603     EInternal_NO_IAP,
       
   604     EInternal_NO_IAP_AUTH,
       
   605     EInternal_IAP_OPEN,
       
   606     EInternal_SHUTTING_DOWN
       
   607     };
       
   608 
       
   609 // Signal in process set up
       
   610 class TImpsSignal
       
   611     {
       
   612     public:
       
   613         inline TImpsSignal();
       
   614         inline TInt Set( const TDesC& aData );
       
   615         inline TImpsSignal( TInt aRate );
       
   616         inline TPtrC Get() const;
       
   617         TRequestStatus* iStatus;
       
   618         TThreadId iId;
       
   619         TInt iRate;
       
   620     };
       
   621 
       
   622 inline TImpsSignal::TImpsSignal()
       
   623         : iStatus( NULL ), iRate( 0 ) {}
       
   624 
       
   625 inline TImpsSignal::TImpsSignal( TInt aRate )
       
   626         : iStatus( NULL ), iId( RThread().Id() ), iRate( aRate )
       
   627     {  }
       
   628 
       
   629 inline TPtrC TImpsSignal::Get() const
       
   630     {
       
   631     return TPtrC( ( const TText* )this, sizeof( *this ) / sizeof( TText ) );
       
   632     }
       
   633 
       
   634 inline TInt TImpsSignal::Set( const TDesC& aData )
       
   635     {
       
   636     return aData.Size() != sizeof( *this ) ?
       
   637            KErrGeneral :
       
   638            ( Mem::Copy( this, aData.Ptr(), sizeof( *this ) ), KErrNone );
       
   639     }
       
   640 
       
   641 // Parameter passing for the launcher process
       
   642 class TImpsLaunchParams
       
   643     {
       
   644     public:
       
   645         inline TImpsLaunchParams () {};
       
   646         inline TImpsLaunchParams(
       
   647             const TDesC& aAppID,
       
   648             const TDesC& aSAP,
       
   649             const TDesC& aUserID );
       
   650         inline TInt Set( const TDesC& aData );
       
   651         inline TPtrC Get() const;
       
   652 
       
   653         // data
       
   654         TBuf<KImpsMaxClientId> 			iApplicationId;
       
   655         TBuf<KImpsMaxSAP>            	iSAP;
       
   656         TBuf<KImpsMaxUserId>         	iUserId;
       
   657     };
       
   658 
       
   659 inline TImpsLaunchParams::TImpsLaunchParams( const TDesC& aAppID,
       
   660                                              const TDesC& aSAP,
       
   661                                              const TDesC& aUserID )
       
   662         : iApplicationId( aAppID ), iSAP( aSAP ),  iUserId( aUserID ) {}
       
   663 
       
   664 inline TPtrC TImpsLaunchParams::Get() const
       
   665     {
       
   666     return TPtrC( ( const TText* )this, sizeof( *this ) / sizeof( TText ) );
       
   667     }
       
   668 
       
   669 inline TInt TImpsLaunchParams::Set( const TDesC& aData )
       
   670     {
       
   671     return aData.Size() != sizeof( *this ) ?
       
   672            KErrGeneral :
       
   673            ( Mem::Copy( this, aData.Ptr(), sizeof( *this ) ), KErrNone );
       
   674     }
       
   675 #endif      // ?INCLUDE_H   
       
   676 
       
   677 // End of File