diff -r 000000000000 -r 1bce908db942 multimediacommsengine/mmcesrv/mmceserver/inc/mcefcactionset.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/multimediacommsengine/mmcesrv/mmceserver/inc/mcefcactionset.h Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,146 @@ +/* +* Copyright (c) 2005 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: +* +*/ + + + + +#ifndef MCEFCACTIONSET_H +#define MCEFCACTIONSET_H + +#include +#include "mcesrv.h" +#include "mceclientserver.h" + + +// FORWARD DECLARATION +class CMceSipSession; +class CMceMsgBase; +class CSdpDocument; + +// CLASS DECLARATION + + +/** +* MCE SIP session. +* +* @lib +* @since +*/ +class TMceFCActionSet + { + +public: // Constructors and destructor + + /** + * Two-phased constructor. + * @param aSession, reference to session. + */ + TMceFCActionSet( CMceSipSession& aSession ); + +public://Floor control related + + /** + * Update floor control related SDP lines in SDP offer. + * @param aOffer the SDP offer + */ + void UpdateFCOfferL( CSdpDocument& aOffer ); + + /** + * Update floor control related SDP lines in SDP answer. + * @param aOffer the SDP answer + */ + void UpdateFCAnswerL( CSdpDocument& aOffer ); + + /** + * Store floor control related data from SDP document + * @param aOffer the SDP document + */ + void PeekFCDocumentL( CSdpDocument& aOffer ); + + /** + * Release floor control. + */ + void ReleaseFC(); + + /** + * Start floor control. + */ + void StartFCL(); + + /** + * Initialize floor control for incoming session. + */ + void InitializeFCL(); + + /** + * Initialize floor control for outgoing session. + * @param aIds the ITC ids + * @param aType floor control type + */ + void InitializeFCL( TMceIds& aIds, const TDesC8& aType ); + + /** + * Update floor control port. + * @param aIds the ITC ids + * @param aType floor control type + */ + void UpdateFCL( TMceIds& aIds, const TDesC8& aType ); + + /** + * Get floor control related SDP media lines. + * @return aMediaLines the medialines + */ + HBufC8* FCGetMediaLinesL(); + + /** + * Set floor control related SDP media lines. + * @param aMediaLines the medialines + */ + void FCSetMediaLinesL( CMceMsgBase& aMediaLines ); + + /** + * Send floor control message. + * @param aMessage the message + */ + void SendFCMsgL( const TDesC8& aMessage ); + + /** + * Find out whether the floor control data has changed such that + * new offer needs to be sent. + * @return ETrue if new offer needs to be sent + */ + TBool NeedToSendOffer(); + +private: // Utility + + TUint RTCPPort(); + +private://data + + static void ArrayCleanup(TAny* aArray); + + + CMceSipSession& iSession; + + //definitions for unit testing + MCESRV_UT_DEFINITIONS + + }; + +#endif + +// End of File