Msrp/MsrpServer/inc/MSRPServerCommon.h
author shivsood
Sat, 12 Jun 2010 14:30:11 +0530
branchMSRP_FrameWork
changeset 25 505ad3f0ce5c
child 58 cdb720e67852
permissions -rw-r--r--
MSRP Chat and File Sharing FrameWork - Initial Contribution from Nokia. MSRP Implementation as per RFC 4975 and RCS specifications that supports 1. Multiple one to one chat data sessions as per RCS/RFC 4975 specifications. 2. Multiple file Sharing sessions as per RCS. 3. Data Chunking requirements as per 4975. 3. MSRP Connection sharing requirements as per RFC 4975

/*
* Copyright (c) 2009-2010 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:
* MSRP Implementation
*
*/

#ifndef __MSRPSERVERCOMMON_H
#define __MSRPSERVERCOMMON_H

#include <flogger.h>
#include <e32svr.h>	// For RDebug

// CONSTANTS

// ENUMS
enum TMSRPPanicCodes
	{
	EMSRPServerStartError,
	EMSRPServerBadRequestError,
	EMSRPServerBadDescriptorError,
	EMSRPServerNotSupportedError,
	EMSRPServerSchedulerError,
	EMSRPServerNullPointer
	};

// used in CMSRPListeners/CMSRPConnection
enum TMSRPChunkProcessingStatus
	{
	EMSRPMessageNotConsumed,
	EMSRPMessageConsumed,
	EMSRPMessageConsumedAndCompleted,
	EMSRPFinalMessageProcessed,
	EMSRPMessageError
	};

// FUNCTION PROTOTYPES
void PanicServer( TMSRPPanicCodes aPanicCode );

// Terminology for now.
enum TConnectionDirection	{
		
		EDownstream, // downstream is implies "connect" and the othe end listens.
		EUpstream	// upstream implies "listen" and the other end connects.

	};

// Connection state for users of the connection. If the connection usable or not.
enum TConnectionState
	{
		Usable,
		NoUsable
	};

// Sub Session FSM Events
enum TMSRPFSMEvent
{
	// Events generated from as a result of client requests.	
	ELocalMSRPPathEvent=0,     // 0
	EMSRPConnectEvent,     	   // 1 
	EMSRPListenEvent,	       // 2 Maps to EMSRPListenConnections.
	EMSRPListenMessagesEvent,  // 3
	EMSRPListenSendResultEvent,  // 4 Client Setup event to setup listner for incomming results.
	EMSRPDataSendMessageEvent,	// 5 Client Event to send data.	
	EMSRPSendFileEvent,         // 6
	EMSRPReceiveFileEvent,      // 7
	EMSRPDataSendMessageCancelEvent, // 8

	// Should be CancelClientSetup1, 2 and 3 respectively.
	EMSRPCancelReceivingEvent, 			// 9  Maps to EMSRPCancelReceiving. What is EMSRPCancelReceiving for? !!
	EMSRPCancelSendRespListeningEvent,  // 10  Maps to EMSRPCancelSendRespListening. What is EMSRPCancelSendRespListening for? !!
	
	// Events generated from the Message Layer.
	EMSRPDataSendCompleteEvent,         // 11  
	EMSRPResponseSendCompleteEvent,		// 12
          
	
	// From Connection Layer
	EMSRPIncomingMessageReceivedEvent, // 13
	EConnectionStateChangedEvent,	   // 14
	EUncalimedMessageReceivedEvent,     // 15
	
    EMSRPSendProgressEvent,
    EMSRPReceiveProgressEvent
};
#endif      // __MSRPSERVERCOMMON_H

// End of File