IMPSengine/enginc/impsclientsrv.h
changeset 0 094583676ce7
--- /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