usbclasses/usbobexclasscontroller/src/CUsbObexClassController.cpp
changeset 34 7858bc6ead78
parent 31 dfdd8240f7c8
child 35 9d8b04ca6939
--- a/usbclasses/usbobexclasscontroller/src/CUsbObexClassController.cpp	Fri May 14 16:51:51 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
-* Copyright (c) 2002 - 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:  Implements OBEX class controller
-*
-*/
-
-
-#include "CUsbObexClassController.h"
-#include <usb_std.h>
-#include <obex.h>
-#include <SrcsInterface.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h> //for CleanupResetAndDestroyPushL
-#include <musbclasscontrollernotify.h>
-
-// Panic category only used in debug builds
-#ifdef _DEBUG
-_LIT( KObexCcPanicCategory, "OBEXCC" );
-#endif
-
-#ifdef __FLOG_ACTIVE
-_LIT8(KLogComponent, "UsbObexCc");
-#endif
-
-/**
- * Panic codes for the USB OBEX Class Controller.
- */
-enum TObexCCPanic
-  {
-  /** Illigal calling of asynchronous function */
-  EBadAsynchronousCall = 0,
-  /** Start() called while in an illegal state */
-  EBadApiCallStart = 1,
-  /** Stop() called while in an illegal state */
-  EBadApiCallStop = 2,
-  };
-
-// ---------------------------------------------------------------------------
-// Constructs a CUsbObexClassController object.
-// ---------------------------------------------------------------------------
-//
-CUsbObexClassController* CUsbObexClassController::NewL(
-  MUsbClassControllerNotify& aOwner)
-  {
-  LOG_STATIC_FUNC_ENTRY
-
-  CUsbObexClassController* self = new (ELeave) CUsbObexClassController(aOwner);
-  CleanupStack::PushL(self);
-  self->ConstructL();
-  CleanupStack::Pop(self);
-  return self;
-  }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CUsbObexClassController::CUsbObexClassController(
-    MUsbClassControllerNotify& aOwner)
-  : CUsbClassControllerPlugIn(aOwner, KObexClassPriority)
-  {
-  LOG_FUNC
-  iState = EUsbServiceIdle;
-  }
-
-// ---------------------------------------------------------------------------
-// Method to perform second phase construction.
-// ---------------------------------------------------------------------------
-//
-void CUsbObexClassController::ConstructL()
-  {
-  LOG_FUNC
-  iObexSM = CObexUSB::NewL();
-  iObexSMWatcher = CObexSMWatcher::NewL(*this);
-  }
-
-// ---------------------------------------------------------------------------
-// From class CUsbClassControllerPlugIn.
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CUsbObexClassController::~CUsbObexClassController()
-  {
-  LOG_FUNC
-  Cancel();
-  delete iObexSM;
-  delete iObexSMWatcher;
-  }
-
-// ---------------------------------------------------------------------------
-// From class CUsbClassControllerPlugIn.
-// Called by UsbMan to start this class.
-// ---------------------------------------------------------------------------
-//
-void CUsbObexClassController::Start(TRequestStatus& aStatus)
-  {
-
-  LOG_FUNC
-  //Start() should never be called if started, starting or stopping (or in state EUsbServiceFatalError)
-  __ASSERT_DEBUG(iState == EUsbServiceIdle, _USB_PANIC(KObexCcPanicCategory, EBadApiCallStart));
-
-  // Start OBEX SM
-  iRequestStatus = &aStatus;
-  iState = EUsbServiceStarting;
-  aStatus = KRequestPending;
-  LOGTEXT(_L8("CUsbObexClassController::Start() calling ManageUSBService(ETrue)")); 
-  iObexSM->ManageUSBServices(ETrue, iStatus);
-  SetActive();
-  }
-
-// ---------------------------------------------------------------------------
-// From class CUsbClassControllerPlugIn.
-// Called by UsbMan to stop this class.
-// ---------------------------------------------------------------------------
-//
-void CUsbObexClassController::Stop(TRequestStatus& aStatus)
-  {
-
-  LOG_FUNC
-  LOGTEXT2(_L8("CUsbObexClassController::Stop iState = %d"), iState);
-  
-  //Stop() should never be called if stopping or starting (or in state EUsbServiceFatalError)
-  __ASSERT_DEBUG(iState == EUsbServiceStarted || iState == EUsbServiceIdle, _USB_PANIC(KObexCcPanicCategory, EBadApiCallStop));
-
-  //state may be idle after Cancel
-  if ( iState == EUsbServiceIdle )
-    {
-    TRequestStatus* status = &aStatus;
-    User::RequestComplete(status, KErrNone);
-    }
-  else
-    {
-    // Stop OBEX SM
-    iRequestStatus = &aStatus;
-    iState = EUsbServiceStopping;   
-    aStatus = KRequestPending;
-    LOGTEXT(_L8("CUsbObexClassController::Stop() calling ManageUSBService(EFalse)")); 
-    iObexSM->ManageUSBServices(EFalse, iStatus);
-    SetActive();
-    }
-  }
-  
-// ---------------------------------------------------------------------------
-// From class CActive.
-// ---------------------------------------------------------------------------
-//
-void CUsbObexClassController::RunL()
-  {
-
-  LOG_FUNC
-  if (iStatus != KErrNone)
-    {
-    LOGTEXT2(_L8("CUsbObexClassController::RunL() Error = %d"), iStatus.Int());
-    User::RequestComplete(iRequestStatus, iStatus.Int());
-    return;
-    }
-  LOGTEXT2(_L8("CUsbObexClassController::RunL() State is %d"), iState);
-
-            switch (iState)
-                {
-                case EUsbServiceStarting:
-                    iState = EUsbServiceStarted;
-                    User::RequestComplete(iRequestStatus, KErrNone);
-                    break;
-                    
-                case EUsbServiceStopping:
-                    iState = EUsbServiceIdle;
-                    User::RequestComplete(iRequestStatus, KErrNone);
-                    break;
-
-                case EUsbServiceStarted:
-                case EUsbServiceIdle:
-
-                default:
-            LOGTEXT(_L8("CUsbObexClassController::RunL() Error or Unknown State"));
-                    break;
-                }
-  }
-
-// ---------------------------------------------------------------------------
-// From class CUsbClassControllerPlugIn.
-// Returns information about the interfaces supported by this class.
-// ---------------------------------------------------------------------------
-//
-void CUsbObexClassController::GetDescriptorInfo(TUsbDescriptor& aDescriptorInfo) const
-  {
-  LOG_FUNC
-  TRAPD(ret, DoGetDescriptorInfoL(aDescriptorInfo));
-        if(ret!=KErrNone)
-          {
-                 LOGTEXT2(_L8("CUsbObexClassController::GetDescriptorInfo leave with code: %d"), ret);
-          }
-        }
-
-// ---------------------------------------------------------------------------
-// Leave version of GetDescriptor info function for fit in Class Controller framework.
-// Returns information about the interfaces supported by this class.
-// ---------------------------------------------------------------------------
-//
-void CUsbObexClassController::DoGetDescriptorInfoL(TUsbDescriptor& aDescriptorInfo) const
-  {
-  LOG_FUNC
-        RImplInfoPtrArray implInfoArray;
-        CleanupResetAndDestroyPushL(implInfoArray);
-        TEComResolverParams resolverParams;
-        resolverParams.SetDataType(KSrcsTransportUSB);
-        resolverParams.SetWildcardMatch(EFalse);
-        REComSession::ListImplementationsL(KCSrcsInterfaceUid, resolverParams, implInfoArray);
-
-        LOGTEXT2(_L8("CUsbObexClassController::DoGetDescriptorInfoL Number of Interfaces is %d"),
-                   implInfoArray.Count());
-        aDescriptorInfo.iNumInterfaces = (implInfoArray.Count())*KObexNumInterfaces;
-        aDescriptorInfo.iLength = 0;
-
-        CleanupStack::PopAndDestroy(&implInfoArray);    
-        }
-
-// ---------------------------------------------------------------------------
-// From class CActive.
-// Will only be called when an asynchronous request is currently active.
-// ---------------------------------------------------------------------------
-//
-void CUsbObexClassController::DoCancel()
-  {
-  LOG_FUNC
-
-  switch (iState)
-    {
-    case EUsbServiceStarting:
-    case EUsbServiceStopping:
-      iObexSM->CancelManageUSBServices();
-      break;
-
-    default:
-      __ASSERT_DEBUG( EFalse, _USB_PANIC(KObexCcPanicCategory, EBadAsynchronousCall) );
-      break;
-    }
-
-  iState = EUsbServiceIdle;        
-  User::RequestComplete(iRequestStatus, KErrCancel);                  
-  }
-
-// ---------------------------------------------------------------------------
-// From class CActive.
-// Should return KErrNone to avoid an active scheduler panic. This function
-// should never be called as there is another mechanism for catching errors.
-// ---------------------------------------------------------------------------
-//
-TInt CUsbObexClassController::RunError(TInt aError)
-  {
-  LOG_FUNC
-  LOGTEXT2(_L8("CUsbObexClassController::RunError aError=%d"), aError);
-  return KErrNone;
-  }
-
-void CUsbObexClassController::MosmError(TInt aError)
-    {
-    LOG_FUNC
-    LOGTEXT2(_L8("CUsbObexClassController::MosmError aError=%d"), aError);
-    Owner().UccnError(aError);
-    }
-
-// End of File