--- a/localconnectivityservice/locod/src/locodaemon.cpp Thu Aug 19 10:46:39 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
- }
-