diff -r 000000000000 -r 094583676ce7 IMPSengine/enginc/impsclientsrv.h --- /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