--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/IMPSengine/enginc/impsclientsrv.h Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Definitions for engine's internal use.
+*
+*/
+
+
+#ifndef IMPSCLIENTSRV_H
+#define IMPSCLIENTSRV_H
+
+// CONSTANTS
+
+// Bit masks for extra data in client request
+const TUint KImpsReqHandleNew = 0x0001;
+const TUint KImpsReqAnyContent = 0x0002;
+
+// Negative IPC responses from the server are error codes.
+// Positive values using 30 bits are message sizes.
+// One bit is reserved to indicate that positive value contains
+// operation id for failed client request due to OOM error.
+
+// Bit mask to create server OOM error response
+const TUint KImpsOOMReply = 0x40000000;
+// Bit mask for server OOM error response to get opid
+const TUint KImpsOOMReplyOpId = 0x3FFFFFFF;
+
+// DATA TYPES
+
+// opcodes used in message passing between SOS client and server
+enum TImpsServRequest
+ {
+ // Client->Server requests and responses
+ EImpsServNone = 0,
+ EImpsServWVLogin,
+ EImpsServWVLogout,
+ EImpsServWVLogoutOne,
+ EImpsServAssign,
+ EImpsAccessRegister, // single CSP support only
+ EImpsAccessRegister2, // Multi-csp support
+ EImpsImRegister,
+ EImpsGroupRegister,
+ EImpsPresRegister,
+ EImpsFundRegister,
+ EImpsServWVSendOnly, // IM message, entire message always
+ EImpsServBlock, // IM blocking request
+ EImpsServGetBlocked, // IM get bloked users list
+ EImpsServGroup, // Group message
+ EImpsServPres, // Presence message
+ EImpsServFundSearch, // Fundamental message
+ EImpsServFundInvite, // Fundamental message
+ EImpsServPush, // CIR
+ EImpsServNextEvent, // client asks more events
+ EImpsServIsLogged, // Ask if user is logged in
+ EImpsServNbrSessions, // Ask number of sessions
+ EImpsServNbrSubSess, // Ask number of subsessions
+ EImpsServServices, // Ask service tree
+ EImpsServCloseSub, // Close sub session, rel 2.1
+ EImpsServDeleteSub, // Delete subsession
+ EImpsServPureRegister,
+ EImpsServPureSend,
+ EImpsServEventBody, // client asks message body of the last event
+ // extras
+ EImpsServBuffSizeReq, // ask maximum XML transaction content size
+ // close, last valid request from client
+ EImpsServCloseSession, // shut down session
+ // Server->Client event, no corresponding client request exist
+ EImpsServStatusReg, // register status observer
+ EImpsServStatusUnreg, // unregister status observer
+ EImpsServDetailedReg, // register detailed error observer
+ EImpsServDetailedUnreg, // unregister detailed error observer
+ EImpsServReactiveLogin, // reactive authorization in use
+ EImpsServCancelLogin, // cancel ongoing login
+ EImpsServCloseAll, // close all sessions
+ EImpsServCancelTrans, // cancel transaction
+ EImpsServSetExpiry, // set expiry time
+ EImpsServCspVersion // supported csp version
+ };
+
+// Data structure for IPC
+struct SImpsEventData
+ {
+ TInt iRequestType; // TImpsServRequest
+ TInt iOpCode;
+ TInt iStatus;
+ TBool iMessageBody; // packed message
+ TInt iMessageType; // TImpsMessageType, response
+ TInt iReqMesType; // TImpsMessageType, request
+ TInt iAux; // auxiliary for small data
+ };
+#endif // ?INCLUDE_H
+
+// End of File