diff -r 000000000000 -r 307788aac0a8 realtimenetprots/sipfw/SIP/Registration/inc/MRegistrationOwner.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/SIP/Registration/inc/MRegistrationOwner.h Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,101 @@ +/* +* 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 : MRegistrationOwner.h +* Part of : Registration +* Version : SIP/4.0 +* +*/ + + + + +/** + @internalComponent +*/ + +#ifndef MREGISTRATIONOWNER_H +#define MREGISTRATIONOWNER_H + +#include "SipStackServerDefs.h" +class CSIPResponse; +class TSIPTransportParams; + + +/** + * An interface defining callbacks from Registration subsystem to the + * calling subsystem. + */ +class MRegistrationOwner + { +public: + + virtual ~MRegistrationOwner() {} + + /** + * Called when registration gets a 2XX response to a SIP request that + * created a binding or to a SIP request that updated or terminated + * an existing binding. In case of update or terminate request, + * any class responses go through this function. + * + * @param aTransactionId identifies the request to which this + * response is related. + * + * @param aRefreshId identifies the refresh if the binding is refreshed + * + * @param aRegistrationId identifies the registration to which this + * response is related. If a new registration binding was created + * this is the id of the created binding. + * Otherwise this is the id of an existing binding. + * + * @param aSIPResponse a response. The ownership is transferred + * if the function does not leave. + */ + virtual void RegistrationReceivedL (TTransactionId aTransactionId, + TRefreshId aRefreshId, + TRegistrationId aRegistrationId, + CSIPResponse* aSIPResponse) = 0; + + /** + * Called when a binding has been created, but an update or + * a terminate request or a refresh failed. + * The binding has now been removed. + * + * @param aTransactionId identifies the request to which this + * response is related. + * + * @param aRegistrationId identifies the registration to which this + * transaction is related. + * + * @param aReason tells why the transaction ended. + * + * @returns value KErrNone if successful, + * otherwise a system wide error code + */ + virtual TInt RegistrationError (TTransactionId aTransactionId, + TRegistrationId aRegistrationId, + TInt aReason) = 0; + + /** + * Gets the transport parameters to be passed to TU or Refreshes + * when sending a REGISTER request. + * + * @returns the transport parameters + */ + virtual const TSIPTransportParams& TransportParams() const = 0; + }; + +#endif // MREGISTRATIONOWNER_H + +// End of File