|
1 /* |
|
2 * Copyright (c) 2003 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 IMPSCLIENTSRV_H |
|
21 #define IMPSCLIENTSRV_H |
|
22 |
|
23 // CONSTANTS |
|
24 |
|
25 // Bit masks for extra data in client request |
|
26 const TUint KImpsReqHandleNew = 0x0001; |
|
27 const TUint KImpsReqAnyContent = 0x0002; |
|
28 |
|
29 // Negative IPC responses from the server are error codes. |
|
30 // Positive values using 30 bits are message sizes. |
|
31 // One bit is reserved to indicate that positive value contains |
|
32 // operation id for failed client request due to OOM error. |
|
33 |
|
34 // Bit mask to create server OOM error response |
|
35 const TUint KImpsOOMReply = 0x40000000; |
|
36 // Bit mask for server OOM error response to get opid |
|
37 const TUint KImpsOOMReplyOpId = 0x3FFFFFFF; |
|
38 |
|
39 // DATA TYPES |
|
40 |
|
41 // opcodes used in message passing between SOS client and server |
|
42 enum TImpsServRequest |
|
43 { |
|
44 // Client->Server requests and responses |
|
45 EImpsServNone = 0, |
|
46 EImpsServWVLogin, |
|
47 EImpsServWVLogout, |
|
48 EImpsServWVLogoutOne, |
|
49 EImpsServAssign, |
|
50 EImpsAccessRegister, // single CSP support only |
|
51 EImpsAccessRegister2, // Multi-csp support |
|
52 EImpsImRegister, |
|
53 EImpsGroupRegister, |
|
54 EImpsPresRegister, |
|
55 EImpsFundRegister, |
|
56 EImpsServWVSendOnly, // IM message, entire message always |
|
57 EImpsServBlock, // IM blocking request |
|
58 EImpsServGetBlocked, // IM get bloked users list |
|
59 EImpsServGroup, // Group message |
|
60 EImpsServPres, // Presence message |
|
61 EImpsServFundSearch, // Fundamental message |
|
62 EImpsServFundInvite, // Fundamental message |
|
63 EImpsServPush, // CIR |
|
64 EImpsServNextEvent, // client asks more events |
|
65 EImpsServIsLogged, // Ask if user is logged in |
|
66 EImpsServNbrSessions, // Ask number of sessions |
|
67 EImpsServNbrSubSess, // Ask number of subsessions |
|
68 EImpsServServices, // Ask service tree |
|
69 EImpsServCloseSub, // Close sub session, rel 2.1 |
|
70 EImpsServDeleteSub, // Delete subsession |
|
71 EImpsServPureRegister, |
|
72 EImpsServPureSend, |
|
73 EImpsServEventBody, // client asks message body of the last event |
|
74 // extras |
|
75 EImpsServBuffSizeReq, // ask maximum XML transaction content size |
|
76 // close, last valid request from client |
|
77 EImpsServCloseSession, // shut down session |
|
78 // Server->Client event, no corresponding client request exist |
|
79 EImpsServStatusReg, // register status observer |
|
80 EImpsServStatusUnreg, // unregister status observer |
|
81 EImpsServDetailedReg, // register detailed error observer |
|
82 EImpsServDetailedUnreg, // unregister detailed error observer |
|
83 EImpsServReactiveLogin, // reactive authorization in use |
|
84 EImpsServCancelLogin, // cancel ongoing login |
|
85 EImpsServCloseAll, // close all sessions |
|
86 EImpsServCancelTrans, // cancel transaction |
|
87 EImpsServSetExpiry, // set expiry time |
|
88 EImpsServCspVersion // supported csp version |
|
89 }; |
|
90 |
|
91 // Data structure for IPC |
|
92 struct SImpsEventData |
|
93 { |
|
94 TInt iRequestType; // TImpsServRequest |
|
95 TInt iOpCode; |
|
96 TInt iStatus; |
|
97 TBool iMessageBody; // packed message |
|
98 TInt iMessageType; // TImpsMessageType, response |
|
99 TInt iReqMesType; // TImpsMessageType, request |
|
100 TInt iAux; // auxiliary for small data |
|
101 }; |
|
102 #endif // ?INCLUDE_H |
|
103 |
|
104 // End of File |