diff -r 000000000000 -r 307788aac0a8 realtimenetprots/sipfw/SIP/Refreshes/inc/MRefreshOwner.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/SIP/Refreshes/inc/MRefreshOwner.h Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,131 @@ +/* +* Copyright (c) 2005-2009 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: +* Name : MRefreshOwner.h +* Part of : SIPRefreshes +* Version : SIP/4.0 +* +*/ + + + + +/** + @internalComponent +*/ + + +#ifndef MREFRESHOWNER_H +#define MREFRESHOWNER_H + +#include "SipStackServerDefs.h" + +class CSIPResponse; +class TSIPTransportParams; +class MSIPSecUser; + +/** + * @brief A call back interface to be implemented by the users of MRefreshMgr + * + * @see MRefreshMgr, MTransactionOwner, CSIPResponse + */ + +class MRefreshOwner + { +public: + + virtual ~MRefreshOwner() {} + + /** + * Called when refreshes gets a response to a previously + * issued SIP request. + * + * @param aTransactionId identifies the request to which this + * response is related. + * + * @param aRefreshId identifies the refresh to which this + * response is related. + * + * @param aResponse a response. The ownership is transferred + * if the function does not leave. + */ + virtual void RefreshReceivedL (TTransactionId aTransactionId, + TRefreshId aRefreshId, + CSIPResponse* aResponse) = 0; + + /** + * An asynchrounous error related to a refresh has occured. + * + * @param aRefreshId identifies the refresh to which this + * transaction is related. + * + * @param aTransactionId identifies the transaction that ended + * + * @param aReason tells why the transaction ended. + * + * @returns value KErrNone if successful, + * otherwise a system wide error code + */ + virtual TInt RefreshError (TRefreshId aRefreshId, + TTransactionId aTransactionId, + TInt aReason) = 0; + + /** + * Returns the next CSeq of the implementing subsystem. + * + * @param aCSeq an in-out parameter. While entering the function contains + * the current CSeq of the caller. On return contains + * the incremented CSeq of the callee. + * If the subsystem implementing the interface does not + * keep track of the CSeqs it should simply increment + * aCSeq by one. + * + * @returns KErrNotFound, if the refresh ID was not found, otherwise + * KErrNone. + */ + virtual TInt NextRefreshCSeq (TUint& aCSeq) = 0; + + /** + * Gets the transport parameters to be passed to TU + * when sending a refreshed SIP request. + * + * @param aRegistrationId the registration id + * + * @returns the transport parameters + */ + virtual TSIPTransportParams TransportParams( + const TRegistrationId& aRegistrationId) = 0; + + /** + * Gets the MSIPSecUser related to the given registration id. + * + * @param aRegistrationId the registration id + * + * @returns the user related to the given registration id if found, + * otherwise NULL. + */ + virtual const MSIPSecUser* SIPSecUser( + const TRegistrationId& aRegistrationId) = 0; + + /** + * Gets the refresh interval duration. + * + * @returns the refresh duration, + */ + virtual TUint RefreshDurationL() = 0; + }; + +#endif // MREFRESHOWNER_H + +// End of File