localconnectivityservice/locod/src/locodaemon.cpp
branchRCL_3
changeset 20 4a793f564d72
parent 19 0aa8cc770c8a
child 21 74aa6861c87d
--- a/localconnectivityservice/locod/src/locodaemon.cpp	Tue Aug 31 16:03:15 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Daemon class implementation.
-*
-*/
-
-
-#include <startupdomainpskeys.h>
-
-#include <featmgr.h>
-#include <locodplugin.hrh>
-#include <locodbearerplugin.h>
-
-#include "locodaemon.h"
-#include "locodserviceman.h"
-#include "utils.h"
-#include "debug.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// NewLC
-// ---------------------------------------------------------------------------
-//
-CLocoDaemon* CLocoDaemon::NewLC()
-    {
-    CLocoDaemon* self = new (ELeave) CLocoDaemon();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// C++ destrctor
-// ---------------------------------------------------------------------------
-//
-CLocoDaemon::~CLocoDaemon()
-    {
-    FeatureManager::UnInitializeLib();    
-    Cancel();
-    iSystemPS.Close();
-    delete iServiceMan;
-    iBearers.ResetAndDestroy();
-    iBearers.Close();
-    REComSession::FinalClose();
-    TRACE_FUNC
-    }
-
-// ---------------------------------------------------------------------------
-// Called when the status of system pubsub keys are 
-// changed. Normally this is called after the system boot.
-// ---------------------------------------------------------------------------
-//
-void CLocoDaemon::RunL()
-    {
-    TRACE_INFO((_L(" RunL %d"), iStatus.Int()))
-    if (iStatus == KErrNone)
-        {
-		iSystemPS.Subscribe(iStatus);
-		SetActive();
-
-        TRACE_INFO((_L(" [SYSTEM] prev %d"), iSystemState))
-        LEAVE_IF_ERROR(iSystemPS.Get(iSystemState));
-        TRACE_INFO((_L(" [SYSTEM] now %d"), iSystemState))
-        
-        if (iSystemState == ESwStateNormalRfOn ||
-             iSystemState == ESwStateNormalRfOff ||
-            iSystemState == ESwStateCharging ||  
-            iSystemState == ESwStateNormalBTSap)
-            { // System is up, construct service man and load bearers.
-            if(!iServiceMan)
-                {
-                iServiceMan = CLocodServiceMan::NewL();
-                }
-            if (!iBearers.Count())
-                {
-                LoadBearesL();
-                }
-            }
-  /*
-     ESwStateShuttingDown and  ESWStateShuttingDown event is received when 
-     the device is about to shut down
-  */
-        else if (iSystemState == ESwStateShuttingDown)
-            {
-            TRACE_INFO((_L(" [SYSTEM] Shuting down and deleting")))
-            delete iServiceMan;
-            iServiceMan = NULL;
-            iBearers.ResetAndDestroy();
-            return;
-            }        
-        }
-        RProcess::Rendezvous(KErrNone);
-    }
-
-// ---------------------------------------------------------------------------
-// CActive method cancel listening pubsub keys
-// ---------------------------------------------------------------------------
-//
-void CLocoDaemon::DoCancel()
-    {
-    TRACE_FUNC
-    iSystemPS.Cancel();
-    }
-  
-// ---------------------------------------------------------------------------
-// CActive method
-// ---------------------------------------------------------------------------
-//  
-TInt CLocoDaemon::RunError(TInt /*aReason*/)
-    {
-    TRACE_FUNC
-    return KErrNone;
-    }
-  
-// ---------------------------------------------------------------------------
-// C++ Constructor
-// ---------------------------------------------------------------------------
-//  
-CLocoDaemon::CLocoDaemon() : CActive(CActive::EPriorityStandard)
-    {
-    CActiveScheduler::Add(this);
-    TRACE_FUNC_THIS
-    }
-
-// ---------------------------------------------------------------------------
-// 2nd phase construction
-// ---------------------------------------------------------------------------
-//    
-void CLocoDaemon::ConstructL()
-    {
-    FeatureManager::InitializeLibL();
-    LEAVE_IF_ERROR(iSystemPS.Attach(KPSUidStartup, KPSGlobalSystemState));
-    iStatus = KRequestPending;
-    SetActive();
-    TRequestStatus* sta = &iStatus;
-    User::RequestComplete(sta, KErrNone);
-    TRACE_FUNC
-    }
-
-// ---------------------------------------------------------------------------
-// LoadBearesL Loads the bearer plug ins
-// ---------------------------------------------------------------------------
-//
-void CLocoDaemon::LoadBearesL()
-    {
-    TRACE_FUNC_ENTRY
-    TRACE_INFO((_L("Load interface 0x%08X"), KLOCODBEARERINTERFACEUID))
-	const TUid KBearerPluginInterface = TUid::Uid(KLOCODBEARERINTERFACEUID);
-	RImplInfoPtrArray implementations;
-	const TEComResolverParams noResolverParams;
-	REComSession::ListImplementationsL(KBearerPluginInterface, 
-		noResolverParams,
-		KRomOnlyResolverUid,
-		implementations);
-	CleanupResetDestroyClosePushL(implementations);
-	const TUint count = implementations.Count();
-    TRACE_INFO((_L(" Bearer count = %d"), count))
-	for ( TUint ii = 0 ; ii < count ; ++ii )
-		{
-		CImplementationInformation* impl = implementations[ii];
-		TRACE_INFO((_L("Bearer: feature %d, name '%S', ROM only %d"), 
-		    impl->ImplementationUid().iUid, &(impl->DisplayName()), impl->RomOnly()))
-    	if (FeatureManager::FeatureSupported(impl->ImplementationUid().iUid))
-    		{
-    		TRACE_INFO((_L("Feature found")))
-    		TLocodBearerPluginParams params(impl->ImplementationUid(), *iServiceMan);
-    		CLocodBearerPlugin* bearer = CLocodBearerPlugin::NewL(params);
-    		CleanupStack::PushL(bearer);
-    		iBearers.AppendL(bearer);
-    		CleanupStack::Pop(bearer);
-    		}
-		}
-	CleanupStack::PopAndDestroy(&implementations);
-    TRACE_FUNC_EXIT
-    }
-