voipplugins/sipconnectionprovider/src/scpconnectingservice.cpp
changeset 0 a4daefaec16c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/voipplugins/sipconnectionprovider/src/scpconnectingservice.cpp	Mon Jan 18 20:12:36 2010 +0200
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 2002-2007 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:  
+*
+*/
+
+
+#include "scpconnectingservice.h"
+#include "scpservicehandlerbase.h"
+#include "scpsubservice.h"
+#include "scplogger.h"
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::TScpConnectingService
+// -----------------------------------------------------------------------------
+//
+TScpConnectingService::TScpConnectingService()
+    {
+    SCPLOGSTRING( "TScpConnectingService::TScpConnectingService" );
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::State
+// -----------------------------------------------------------------------------
+//
+TCCHSubserviceState TScpConnectingService::State() const
+    {
+    SCPLOGSTRING( "TScpConnectingService::State" );
+
+    return ECCHConnecting;
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::EnableL
+// -----------------------------------------------------------------------------
+//
+void TScpConnectingService::EnableL( CScpSubService& aSubService ) const
+    {
+    SCPLOGSTRING( "TScpConnectingService::EnableL" );
+
+    // Launch refresh only if the sub service is in error condition
+    // no need to launch refresh if connected iap is not supported -> 
+    // just wait until valid iap is available
+    if( aSubService.LastReportedError() != KErrNone && 
+        aSubService.LastReportedError() != KErrNotSupported )
+        {
+        aSubService.SetEnableRequestedState( CScpSubService::EScpRefreshed );
+        User::LeaveIfError( aSubService.Disable() );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::Disable
+// -----------------------------------------------------------------------------
+//
+TInt TScpConnectingService::Disable( CScpSubService& aSubService ) const
+    {
+    SCPLOGSTRING( "TScpConnectingService::Disable" );
+
+    if( aSubService.EnableRequestedState() != CScpSubService::EScpRefreshed )
+        { 
+        aSubService.SetEnableRequestedState( CScpSubService::EScpDisabled );
+        }
+        
+    CScpServiceHandlerBase& handler = aSubService.ServiceHandler();
+    TInt result = handler.DisableSubService();
+
+    ChangeState( aSubService, ECCHDisconnecting, KErrNone );
+
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::NetworkNotFound
+// -----------------------------------------------------------------------------
+//
+void TScpConnectingService::NetworkNotFound( CScpSubService& aSubService ) const
+    {
+    SCPLOGSTRING( "TScpConnectingService::NetworkNotFound" );
+    
+    ChangeState( aSubService, ECCHConnecting, KCCHErrorNetworkLost );
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::NetworkLost
+// -----------------------------------------------------------------------------
+//
+void TScpConnectingService::NetworkLost( CScpSubService& aSubService ) const
+    {
+    SCPLOGSTRING( "TScpConnectingService::NetworkLost" );
+    
+    ChangeState( aSubService, ECCHConnecting, KCCHErrorNetworkLost );
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::ServiceConnectionFailed
+// -----------------------------------------------------------------------------
+//
+void TScpConnectingService::ServiceConnectionFailed( CScpSubService& aSubService ) const
+    {
+    SCPLOGSTRING( "TScpConnectingService::ServiceConnectionFailed" );
+
+    ChangeState( aSubService, ECCHConnecting, KCCHErrorLoginFailed );
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::ServiceInvalidSettings
+// -----------------------------------------------------------------------------
+//
+void TScpConnectingService::ServiceInvalidSettings( CScpSubService& aSubService ) const
+    {
+    SCPLOGSTRING( "TScpConnectingService::ServiceInvalidSettings" );
+
+    ChangeState( aSubService, ECCHConnecting, KCCHErrorInvalidSettings );
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::ServiceConnected
+// -----------------------------------------------------------------------------
+//
+void TScpConnectingService::ServiceConnected( CScpSubService& aSubService ) const
+    {
+    SCPLOGSTRING( "TScpConnectingService::ServiceConnected" );
+
+    ChangeState( aSubService, ECCHEnabled, KErrNone );
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::ServiceDisconnected
+// -----------------------------------------------------------------------------
+//
+void TScpConnectingService::ServiceDisconnected( CScpSubService& aSubService ) const
+    {
+    SCPLOGSTRING( "TScpConnectingService::ServiceDisconnected" );
+
+    ChangeState( aSubService, ECCHConnecting, KCCHErrorServiceNotResponding );
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::BandwidthLimited
+// -----------------------------------------------------------------------------
+//
+void TScpConnectingService::BandwidthLimited( CScpSubService& aSubService ) const
+    {
+    SCPLOGSTRING( "TScpConnectingService::BandwidthLimited" );
+    
+    ChangeState( aSubService, ECCHEnabled, KCCHErrorBandwidthInsufficient ); 
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::AuthenticationFailed
+// -----------------------------------------------------------------------------
+//
+void TScpConnectingService::AuthenticationFailed( CScpSubService& aSubService ) const
+    {
+    SCPLOGSTRING( "TScpConnectingService::AuthenticationFailed" );
+    
+    ChangeState( aSubService, ECCHConnecting, KCCHErrorAuthenticationFailed ); 
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::ServiceConnectionCanceled
+// -----------------------------------------------------------------------------
+//
+void TScpConnectingService::ServiceConnectionCanceled( CScpSubService& aSubService ) const
+    {
+    SCPLOGSTRING( "TScpConnectingService::ServiceConnectionCanceled" );
+    
+    ChangeState( aSubService, ECCHDisabled, KErrCancel ); 
+    }
+
+// -----------------------------------------------------------------------------
+// TScpConnectingService::BearerNotSupported
+// -----------------------------------------------------------------------------
+//
+void TScpConnectingService::BearerNotSupported( CScpSubService& aSubService ) const
+    {
+    SCPLOGSTRING( "TScpConnectingService::BearerNotSupported" );
+    
+    ChangeState( aSubService, ECCHConnecting, KErrNotSupported ); 
+    }
+
+//  End of File