IMPSengine/enginc/impsclientsrv.h
changeset 0 094583676ce7
equal deleted inserted replaced
-1:000000000000 0:094583676ce7
       
     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