realtimenetprots/sipfw/ProfileAgent/profile_fsm/src/Sipprflstatebase.cpp
changeset 0 307788aac0a8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/realtimenetprots/sipfw/ProfileAgent/profile_fsm/src/Sipprflstatebase.cpp	Tue Feb 02 01:03:15 2010 +0200
@@ -0,0 +1,216 @@
+// Copyright (c) 2007-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        : sipprflstatebase.cpp
+// Part of     : sip profile fsm
+// implementation
+// Version     : %version: 2.1.1 %
+//
+
+
+
+// INCLUDE FILES
+#include "sipprflstatebase.h"
+#include "sipconcreteprofile.h"
+#include "sipprofileagentobserver.h"
+#include "sipregistrationbinding.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::CSIPPrflStateBase
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CSIPPrflStateBase::CSIPPrflStateBase(
+    MSIPProfileFSMUser& aUser,
+    MSIPProfileContext::TSIPProfileState aName)
+    : iUser(aUser), 
+      iName(aName)
+	{
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::CSIPPrflStateBase
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSIPPrflStateBase::~CSIPPrflStateBase()
+	{
+	}
+	
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::Name()
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MSIPProfileContext::TSIPProfileState CSIPPrflStateBase::Name() const
+	{
+	return iName;
+	}	
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::RegisterL()
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSIPPrflStateBase::RegisterL(
+	MSIPProfileContext& /*aContext*/)
+	{
+	User::Leave(KErrTotalLossOfPrecision);
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::DeregisterL()
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSIPPrflStateBase::DeregisterL(
+	MSIPProfileContext& /*aContext*/)
+	{
+	User::Leave(KErrTotalLossOfPrecision);
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::UpdateL()
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSIPPrflStateBase::UpdateL(
+	MSIPProfileContext& /*aContext*/,
+	CSIPConcreteProfile& /*aNewProfile*/)
+	{
+	User::Leave(KErrTotalLossOfPrecision);
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::ResponseReceived()
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSIPPrflStateBase::ResponseReceived(
+	MSIPProfileContext& /*aContext*/,
+	CSIPClientTransaction& /*aTransaction*/)
+	{
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::ErrorOccurred()
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSIPPrflStateBase::ErrorOccured(
+	MSIPProfileContext& /*aContext*/,
+	TInt /*aError*/)
+	{
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::ConnectionStateChanged()
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSIPPrflStateBase::ConnectionStateChanged(
+	MSIPProfileContext& /*aContext*/,
+	CSIPConnection::TState /*aState*/)
+	{
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::ChangeRegistrationStateL()
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSIPPrflStateBase::ChangeRegistrationStateL(
+	MSIPProfileContext& /*aContext*/)
+	{
+	User::Leave(KErrTotalLossOfPrecision);
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::IsRegisterPending()
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//	
+TBool CSIPPrflStateBase::IsRegisterPending() const
+    {
+    return EFalse;
+    }
+    
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::ProxyResolvingRequestCompleteL()
+// -----------------------------------------------------------------------------
+//
+void CSIPPrflStateBase::ProxyResolvingRequestCompleteL(
+    MSIPProfileContext& /*aContext*/,
+    MDesC8Array& /*aProxies*/)
+    {
+    User::Leave(KErrTotalLossOfPrecision);
+    }
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::ProxyResolvingRequestFailed()
+// -----------------------------------------------------------------------------
+//
+void CSIPPrflStateBase::ProxyResolvingRequestFailed(
+    MSIPProfileContext& /*aContext*/,
+    TInt /*aError*/)
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::IsIdle()
+// -----------------------------------------------------------------------------
+//
+TBool CSIPPrflStateBase::IsIdle( MSIPProfileContext& /*aContext*/ )
+    {
+    return EFalse;
+    }
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::HandleError()
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSIPPrflStateBase::HandleError(
+	MSIPProfileContext& aContext,
+	TInt aError,
+	CSIPPrflStateBase* aNextState)
+	{
+	__ASSERT_DEBUG(aContext.Profile()!=0, User::Invariant());
+	TUint32	contextId(0);
+	CSIPConcreteProfile& profile = DoCleanup(aContext,contextId);
+	aContext.SetNextState(*aNextState);
+	aContext.AgentObserver().SIPProfileErrorEvent(profile,aError);
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPPrflStateBase::DoCleanup()
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CSIPConcreteProfile& CSIPPrflStateBase::DoCleanup(
+	MSIPProfileContext& aContext, 
+	TUint32& aContextId)
+	{
+	__ASSERT_DEBUG(aContext.Profile()!=0, User::Invariant());
+	CSIPConcreteProfile& profile = *(aContext.Profile());
+	aContext.ForgetProfile();
+	aContextId = 0;
+	if (aContext.Registration())
+	    {
+	    aContextId = aContext.Registration()->ContextId();
+	    }
+	aContext.DestroyRegistration();
+	return profile;
+	}