usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/src/ncmiapreader.cpp
branchRCL_3
changeset 16 012cc2ee6408
parent 15 f92a4f87e424
--- a/usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/src/ncmiapreader.cpp	Tue Aug 31 17:01:47 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*
-* Copyright (c) 2010 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: 
-*
-*/
-
-/**
- * @file
- * @internalComponent
- */
-
-#include <e32debug.h>
-#include <commdb.h>
-
-#ifdef OVERDUMMY_NCMCC
-#include <usb/testncmcc/dummy_essock.h>
-#else
-#include <commdbconnpref.h>
-#endif
-
-#include <commsdattypesv1_1.h> 
-
-#include "ncmiapreaderobserver.h"
-#include "ncmiapreader.h"
-
-// For OST Tracing
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "ncmiapreaderTraces.h"
-#endif
-
-
-_LIT(KNcmIapReaderPanic, "UsbNcmIapReader"); // must be <=16 chars
-
-// Panic codes
-enum TNcmIapReaderPanicCode
-    {
-    ENcmIapReaderPanicOutstandingRequest = 1,
-    ENcmIapReaderPanicTooManyIAPs = 2,
-    ENcmIapReaderEndMark
-    };
-
-// NCM configuration item names
-_LIT(KBearerNifName, "ethint");
-_LIT(KBearerLddFileName, "eusbcsc");
-_LIT(KBearerPktDrvName, "ncmpkt.drv");
-
-/**
- * Constructs a CNcmIapReader object.
- * @param aObserver An MNcmIAPReaderObserver instance which handles IAP reading completing
- * @param aConnPref The reference of the NCM connection aConnPref
- */
-CNcmIapReader::CNcmIapReader(MNcmIAPReaderObserver& aObserver, TCommDbConnPref& aConnPref)
-: CActive(CActive::EPriorityStandard),
-      iObserver(aObserver),
-      iConnPref(aConnPref)
-	{
-	OstTraceFunctionEntryExt( CNCMIAPREADER_CNCMIAPREADER_ENTRY, this );
-	CActiveScheduler::Add(this);		
-	OstTraceFunctionExit1( CNCMIAPREADER_CNCMIAPREADER_EXIT, this );
-	}
-
-/**
- * Destructor.
- */
-CNcmIapReader::~CNcmIapReader()
-	{
-	OstTraceFunctionEntry0( CNCMIAPREADER_CNCMIAPREADER_ENTRY_DESTRUCTOR );
-	
-	Cancel();
-	OstTraceFunctionExit0( CNCMIAPREADER_CNCMIAPREADER_ENTRY_DESTRUCTOR_EXIT );
-	}
-
-/**
- * Start the connection.
- */
-void CNcmIapReader::Start()
-	{
-	OstTraceFunctionEntry0( CNCMIAPREADER_START_ENTRY );
-	
-	__ASSERT_ALWAYS(!IsActive(), 
-	        User::Panic(KNcmIapReaderPanic, ENcmIapReaderPanicOutstandingRequest));
-    
-    SetActive();
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete(status, KErrNone);
-	
-	OstTraceFunctionExit0( CNCMIAPREADER_START_EXIT );
-	}
-
-/**
- * Implements cancellation of an outstanding request.
- */
-void CNcmIapReader::DoCancel()
-	{
-	OstTraceFunctionEntry0( CNCMIAPREADER_DOCANCEL_ENTRY );
-	
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete(status, KErrCancel);
-	OstTraceFunctionExit0( CNCMIAPREADER_DOCANCEL_EXIT );
-	}
-
-/**
- * Simulate an async way and give
- * the scheduler a chance to schedule all AOs.
- */
-void CNcmIapReader::RunL()
-	{
-	OstTraceFunctionEntry0( CNCMIAPREADER_RUNL_ENTRY );
-	
-	// Reading
-	TRAPD(err, SearchNcmIapL())
-	OstTrace1( TRACE_NORMAL, CNCMIAPREADER_RUNL_GETIAP, "Get NCM IAP with error code %d", err );
-	
-
-	// Complete connection manager
-	iObserver.MicoHandleIAPReadingComplete(err);
-	OstTraceFunctionExit0( CNCMIAPREADER_RUNL_EXIT );
-	}
-
-/**
- * Search NCM IAP in current commDB and set it into the ncm connection manager.
- */
-void CNcmIapReader::SearchNcmIapL()
-    {
-    OstTraceFunctionEntry0( CNCMIAPREADER_GETNCMIAPIDL_ENTRY );
-    
-    using namespace CommsDat;
-    CMDBSession* dbs = CMDBSession::NewLC(KCDLatestVersion); // Current version is 1.1
-    
-    CMDBRecordSet<CCDLANBearerRecord>* lanBearerTable = 
-            new (ELeave) CMDBRecordSet<CCDLANBearerRecord>(KCDTIdLANBearerRecord);
-    CleanupStack::PushL(lanBearerTable);
-    // Load the table into memory
-    lanBearerTable->LoadL(*dbs);
- 
-    TInt numLanBearers = lanBearerTable->iRecords.Count();    
-    OstTrace1( TRACE_NORMAL, CNCMIAPREADER_GETNCMIAPIDL_COUNT_LAN_BEARER, "Found %d Lan Bearer!", numLanBearers );
-    TInt chosenLanBearer = KErrNotFound;
-    TInt i = 0;
-    for(i = 0; i<numLanBearers; i++)
-        {
-        CCDLANBearerRecord* lanBearer = 
-                static_cast<CCDLANBearerRecord*>(lanBearerTable->iRecords[i]);
-        if ((lanBearer->iLanBearerNifName.GetL().Compare(KBearerNifName()) == 0) &&
-            (lanBearer->iLanBearerLddFilename.GetL().Compare(KBearerLddFileName()) == 0) &&
-            (lanBearer->iLanBearerPacketDriverName.GetL().Compare(KBearerPktDrvName()) == 0))
-            {
-            // Matched all check points. We found LAN bearer for NCM
-            chosenLanBearer = lanBearer->RecordId();
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy(lanBearerTable); // lanBearerTable
-    if (KErrNotFound == chosenLanBearer)
-        {
-        OstTrace0( TRACE_ERROR, CNCMIAPREADER_GETNCMIAPIDL, "Can not find NCM Lan Bearer!" );
-        User::Leave(KErrNotFound);
-        }
-    OstTrace1( TRACE_NORMAL, CNCMIAPREADER_GETNCMIAPIDL_CHOSEN_LAN_BEARER, "Chosen Lan Bearer %d!", chosenLanBearer );
-    
-    CMDBRecordSet<CCDIAPRecord> * iapTable = 
-            new (ELeave) CMDBRecordSet<CCDIAPRecord>(KCDTIdIAPRecord);
-    CleanupStack::PushL(iapTable);
-    // Load the table into memory
-    iapTable->LoadL(*dbs);
-
-    TInt numIaps = iapTable->iRecords.Count();
-    TInt chosenIAP = KErrNotFound;
-    TInt iapLanBearer = KErrNotFound;
-    for (i = 0; i < numIaps; i++)
-        {
-        CCDIAPRecord* iap =
-                static_cast<CCDIAPRecord*> (iapTable->iRecords[i]);
-        OstTrace1( TRACE_NORMAL, CNCMIAPREADER_GETNCMIAPIDL_RECORD_ID, "Id of current IAP is %d!", iap->RecordId() );
-        OstTrace1( TRACE_NORMAL, CNCMIAPREADER_GETNCMIAPIDL_RECORD_BEARER_ID, "Lan Bearer Id of current IAP is %d!", TMDBElementId(iap->iBearer) );
-        iapLanBearer = TMDBElementId(iap->iBearer);
-        if ((iap->iBearerType.GetL().Compare(TPtrC(KCDTypeNameLANBearer)) == 0) && 
-                (iapLanBearer == chosenLanBearer))
-            {
-            // NCM IAP found!
-            // Panic if there is more than NCM IAP found
-            OstTrace1( TRACE_NORMAL, CNCMIAPREADER_SEARCHNCMIAPL_ONLY_ONE_NCM_IAP, "NCM IAP found: Current chosenIAP value is %d", chosenIAP );
-            
-            __ASSERT_ALWAYS(KErrNotFound == chosenIAP, User::Panic(KNcmIapReaderPanic, ENcmIapReaderPanicTooManyIAPs));
-            chosenIAP = iap->RecordId();
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy(2, dbs); // iapTable, dbs    
-    if(chosenIAP == KErrNotFound)
-        {
-        OstTrace0( TRACE_ERROR, CNCMIAPREADER_GETNCMIAPIDL_NOT_FOUND, "Can not find NCM IAP!" );
-        User::Leave(KErrNotFound);
-        }
-    OstTrace1( TRACE_NORMAL, CNCMIAPREADER_GETNCMIAPIDL_CHOSEN_IAP_ID, "Chosen IAP is %d!", chosenIAP );
-    iConnPref.SetIapId(chosenIAP);
-    OstTraceFunctionExit0( CNCMIAPREADER_GETNCMIAPIDL_EXIT );
-    }