usbengines/usbotgwatcher/src/cusbstatehosthandledropping.cpp
author hgs
Mon, 25 Oct 2010 13:20:29 +0300
changeset 93 2dc695882abd
parent 47 878846f7623e
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46
hgs
parents:
diff changeset
     1
/*
47
hgs
parents: 46
diff changeset
     2
 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
46
hgs
parents:
diff changeset
     3
 * All rights reserved.
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
 *
hgs
parents:
diff changeset
     9
 * Initial Contributors:
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
 *
hgs
parents:
diff changeset
    12
 * Contributors:
hgs
parents:
diff changeset
    13
 *
hgs
parents:
diff changeset
    14
 * Description:  Implementation
hgs
parents:
diff changeset
    15
 *
hgs
parents:
diff changeset
    16
 */
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <usbuinotif.h>
hgs
parents:
diff changeset
    19
#include <d32usbdi_errors.h>
93
hgs
parents: 47
diff changeset
    20
#include <d32otgdi_errors.h>
46
hgs
parents:
diff changeset
    21
47
hgs
parents: 46
diff changeset
    22
#include "cusbotgwatcher.h"
46
hgs
parents:
diff changeset
    23
#include "cusbstatehosthandledropping.h"
47
hgs
parents: 46
diff changeset
    24
46
hgs
parents:
diff changeset
    25
#ifndef STIF
hgs
parents:
diff changeset
    26
#include "cusbnotifmanager.h"
hgs
parents:
diff changeset
    27
#else
hgs
parents:
diff changeset
    28
#include "mockcusbnotifmanager.h"
hgs
parents:
diff changeset
    29
#endif
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
#include "errors.h"
hgs
parents:
diff changeset
    32
#include "debug.h"
hgs
parents:
diff changeset
    33
#include "panic.h"
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    36
// 
hgs
parents:
diff changeset
    37
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    38
//
hgs
parents:
diff changeset
    39
CUsbStateHostHandleDropping::CUsbStateHostHandleDropping(
hgs
parents:
diff changeset
    40
        CUsbOtgWatcher& aWatcher) :
hgs
parents:
diff changeset
    41
    CUsbStateHostHandle(aWatcher)
hgs
parents:
diff changeset
    42
    {
hgs
parents:
diff changeset
    43
    }
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    46
// 
hgs
parents:
diff changeset
    47
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    48
//
hgs
parents:
diff changeset
    49
CUsbStateHostHandleDropping* CUsbStateHostHandleDropping::NewL(
hgs
parents:
diff changeset
    50
        CUsbOtgWatcher& aWatcher)
hgs
parents:
diff changeset
    51
    {
hgs
parents:
diff changeset
    52
    LOG_FUNC
hgs
parents:
diff changeset
    53
hgs
parents:
diff changeset
    54
    CUsbStateHostHandleDropping* self =
hgs
parents:
diff changeset
    55
            new (ELeave) CUsbStateHostHandleDropping(aWatcher);
hgs
parents:
diff changeset
    56
    CleanupStack::PushL(self);
hgs
parents:
diff changeset
    57
    self->ConstructL();
hgs
parents:
diff changeset
    58
    CleanupStack::Pop(self);
hgs
parents:
diff changeset
    59
    return self;
hgs
parents:
diff changeset
    60
    }
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    63
// 
hgs
parents:
diff changeset
    64
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    65
//
hgs
parents:
diff changeset
    66
void CUsbStateHostHandleDropping::ConstructL()
hgs
parents:
diff changeset
    67
    {
hgs
parents:
diff changeset
    68
    LOG_FUNC
hgs
parents:
diff changeset
    69
    CUsbStateHostHandle::ConstructL();
hgs
parents:
diff changeset
    70
    }
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    73
// 
hgs
parents:
diff changeset
    74
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    75
//
hgs
parents:
diff changeset
    76
CUsbStateHostHandleDropping::~CUsbStateHostHandleDropping()
hgs
parents:
diff changeset
    77
    {
hgs
parents:
diff changeset
    78
    LOG_FUNC
hgs
parents:
diff changeset
    79
    }
hgs
parents:
diff changeset
    80
hgs
parents:
diff changeset
    81
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    82
// 
hgs
parents:
diff changeset
    83
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    84
//
hgs
parents:
diff changeset
    85
TUsbStateIds CUsbStateHostHandleDropping::Id()
hgs
parents:
diff changeset
    86
    {
hgs
parents:
diff changeset
    87
    return EUsbStateHostHandleDropping;
hgs
parents:
diff changeset
    88
    }
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    91
// 
hgs
parents:
diff changeset
    92
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    93
//
hgs
parents:
diff changeset
    94
void CUsbStateHostHandleDropping::JustBeforeLeavingThisStateL()
hgs
parents:
diff changeset
    95
    {
hgs
parents:
diff changeset
    96
    LOG_FUNC
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
    iWatcher.NotifManager()->CloseAllNotifiers();
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
    // do general things 
hgs
parents:
diff changeset
   101
    CUsbStateHostHandle::JustBeforeLeavingThisStateL();
hgs
parents:
diff changeset
   102
    }
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
// this means only one wait notifier at a time can be shown by this state
hgs
parents:
diff changeset
   105
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   106
// 
hgs
parents:
diff changeset
   107
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   108
//
hgs
parents:
diff changeset
   109
void CUsbStateHostHandleDropping::WaitNotifierCompletedL(TInt /*aFeedback*/)
hgs
parents:
diff changeset
   110
    {
hgs
parents:
diff changeset
   111
    LOG_FUNC
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
    switch (iWhat)
hgs
parents:
diff changeset
   114
        {
hgs
parents:
diff changeset
   115
        case EUsbWatcherHubsNotSupported:
hgs
parents:
diff changeset
   116
            {
hgs
parents:
diff changeset
   117
            LOG( "EUsbWatcherHubsNotSupported" );
hgs
parents:
diff changeset
   118
            ChangeHostStateL( EUsbStateHostAInitiate);
hgs
parents:
diff changeset
   119
            break;
hgs
parents:
diff changeset
   120
            }
hgs
parents:
diff changeset
   121
        case EUsbWatcherErrDeviceRequiresTooMuchPower:
hgs
parents:
diff changeset
   122
            {
hgs
parents:
diff changeset
   123
            LOG( "EUsbWatcherErrDeviceRequiresTooMuchPower" );
hgs
parents:
diff changeset
   124
            ChangeHostStateL( EUsbStateHostAInitiate);
hgs
parents:
diff changeset
   125
            break;
hgs
parents:
diff changeset
   126
            }
hgs
parents:
diff changeset
   127
        case EUsbWatcherErrUnsupportedDevice:
hgs
parents:
diff changeset
   128
            {
hgs
parents:
diff changeset
   129
            LOG("EUsbWatcherErrUnsupportedDevice" );
hgs
parents:
diff changeset
   130
            ChangeHostStateL( EUsbStateHostAInitiate);
hgs
parents:
diff changeset
   131
            break;
hgs
parents:
diff changeset
   132
            }
hgs
parents:
diff changeset
   133
        case EUsbWatcherConnectedToOTG:
hgs
parents:
diff changeset
   134
            {
hgs
parents:
diff changeset
   135
            LOG("EUsbWatcherConnectedToOTG" );
hgs
parents:
diff changeset
   136
            ChangeHostStateL( EUsbStateHostAInitiate);
hgs
parents:
diff changeset
   137
            break;
hgs
parents:
diff changeset
   138
            }
hgs
parents:
diff changeset
   139
        case EUsbWatcherErrDandlingCable:
hgs
parents:
diff changeset
   140
            {
hgs
parents:
diff changeset
   141
            LOG("EUsbWatcherErrDandlingCable" );
hgs
parents:
diff changeset
   142
            ChangeHostStateL( EUsbStateHostAInitiate);
hgs
parents:
diff changeset
   143
            break;
hgs
parents:
diff changeset
   144
            }
hgs
parents:
diff changeset
   145
        case EUsbWatcherNoActivity:
hgs
parents:
diff changeset
   146
            {
hgs
parents:
diff changeset
   147
            LOG("EUsbWatcherNoActivity" );
hgs
parents:
diff changeset
   148
            ChangeHostStateL( EUsbStateHostAInitiate);
hgs
parents:
diff changeset
   149
            break;
hgs
parents:
diff changeset
   150
            }
hgs
parents:
diff changeset
   151
        case EUsbWatcherErrorInConnection:
hgs
parents:
diff changeset
   152
            {
hgs
parents:
diff changeset
   153
            LOG( "EUsbWatcherErrorInConnection" );
hgs
parents:
diff changeset
   154
            ChangeHostStateL( EUsbStateHostAInitiate);
hgs
parents:
diff changeset
   155
            break;
hgs
parents:
diff changeset
   156
            }
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
            // fatal errors
hgs
parents:
diff changeset
   159
        case EUsbWatcherCanNotStartUsbServices:
hgs
parents:
diff changeset
   160
            {
hgs
parents:
diff changeset
   161
            LOG( "EUsbWatcherCanNotStartUsbServices" );
hgs
parents:
diff changeset
   162
hgs
parents:
diff changeset
   163
            // no break here                     
hgs
parents:
diff changeset
   164
            }
hgs
parents:
diff changeset
   165
47
hgs
parents: 46
diff changeset
   166
            // no break statement for following cases 
hgs
parents: 46
diff changeset
   167
        case EUsbWatcherNoMemory:
46
hgs
parents:
diff changeset
   168
        case EUsbWatcherIdPinError:
hgs
parents:
diff changeset
   169
        case EUsbWatcherVBusObserverError:
hgs
parents:
diff changeset
   170
        case EUsbWatcherHostEventNotificationError:
hgs
parents:
diff changeset
   171
        case EUsbWatcherOtgStateError:
hgs
parents:
diff changeset
   172
        case EUsbWatcherMessageNotificationError:
hgs
parents:
diff changeset
   173
        case EUsbWatcherCanNotStartSession:
hgs
parents:
diff changeset
   174
        case EUsbWatcherCanNotEnableDriverLoading:
hgs
parents:
diff changeset
   175
        case EUsbWatcherCanNotClearBusError:
hgs
parents:
diff changeset
   176
        case EUsbWatcherCanNotRaiseVBus:
hgs
parents:
diff changeset
   177
            {
hgs
parents:
diff changeset
   178
            LOG("Fatal error" );
hgs
parents:
diff changeset
   179
            ChangeHostStateL( EUsbStateHostUndefined);
hgs
parents:
diff changeset
   180
            break;
hgs
parents:
diff changeset
   181
            }
hgs
parents:
diff changeset
   182
        default:
hgs
parents:
diff changeset
   183
            {
hgs
parents:
diff changeset
   184
            LOG1("Unexpected situation to be handled iWhat = %d" , iWhat );
47
hgs
parents: 46
diff changeset
   185
            PANIC( EUnexpectedSituationToHandle);
46
hgs
parents:
diff changeset
   186
            break;
hgs
parents:
diff changeset
   187
            }
hgs
parents:
diff changeset
   188
hgs
parents:
diff changeset
   189
        }
hgs
parents:
diff changeset
   190
    }
hgs
parents:
diff changeset
   191
hgs
parents:
diff changeset
   192
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   193
// 
hgs
parents:
diff changeset
   194
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   195
//
hgs
parents:
diff changeset
   196
void CUsbStateHostHandleDropping::DoHandleL()
hgs
parents:
diff changeset
   197
    {
hgs
parents:
diff changeset
   198
    LOG_FUNC
hgs
parents:
diff changeset
   199
hgs
parents:
diff changeset
   200
    LOG1( "iWhat = %d" , iWhat);
hgs
parents:
diff changeset
   201
hgs
parents:
diff changeset
   202
    // Drop VBus first    
hgs
parents:
diff changeset
   203
    // Ignore any errors when calling BusDrop(). Those indicate that VBus already dropped 
hgs
parents:
diff changeset
   204
    iWatcher.Usb().BusDrop();
hgs
parents:
diff changeset
   205
hgs
parents:
diff changeset
   206
    switch (iWhat)
hgs
parents:
diff changeset
   207
        {
hgs
parents:
diff changeset
   208
hgs
parents:
diff changeset
   209
        case EUsbWatcherHubsNotSupported:
hgs
parents:
diff changeset
   210
            {
hgs
parents:
diff changeset
   211
            LOG("EUsbWatcherHubsNotSupported" );
hgs
parents:
diff changeset
   212
            iWatcher.NotifManager()->ShowNotifierL(KUsbUiNotifOtgError,
hgs
parents:
diff changeset
   213
                    EUsbOtgHubUnsupported, this);
hgs
parents:
diff changeset
   214
            break;
hgs
parents:
diff changeset
   215
            }
hgs
parents:
diff changeset
   216
        case EUsbWatcherErrDeviceRequiresTooMuchPower:
hgs
parents:
diff changeset
   217
            {
hgs
parents:
diff changeset
   218
            LOG("EUsbWatcherErrDeviceRequiresTooMuchPower" );
hgs
parents:
diff changeset
   219
            iWatcher.NotifManager()->ShowNotifierL(KUsbUiNotifOtgError,
hgs
parents:
diff changeset
   220
                    EUsbOtgTooMuchPower, this);
hgs
parents:
diff changeset
   221
            break;
hgs
parents:
diff changeset
   222
            }
hgs
parents:
diff changeset
   223
        case EUsbWatcherErrUnsupportedDevice:
hgs
parents:
diff changeset
   224
            {
hgs
parents:
diff changeset
   225
            LOG("EUsbWatcherErrUnsupportedDevice" );
hgs
parents:
diff changeset
   226
            iWatcher.NotifManager()->ShowNotifierL(KUsbUiNotifOtgError,
hgs
parents:
diff changeset
   227
                    EUsbOtgUnsupportedDevice, this);
hgs
parents:
diff changeset
   228
            break;
hgs
parents:
diff changeset
   229
            }
hgs
parents:
diff changeset
   230
        case EUsbWatcherConnectedToOTG:
hgs
parents:
diff changeset
   231
            {
hgs
parents:
diff changeset
   232
            LOG("EUsbWatcherConnectedToOTG" );
hgs
parents:
diff changeset
   233
            iWatcher.NotifManager()->ShowNotifierL(KUsbUiNotifOtgError,
hgs
parents:
diff changeset
   234
                    EUsbOtgUnsupportedDevice, this);
hgs
parents:
diff changeset
   235
hgs
parents:
diff changeset
   236
            break;
hgs
parents:
diff changeset
   237
            }
hgs
parents:
diff changeset
   238
        case EUsbWatcherErrDandlingCable:
hgs
parents:
diff changeset
   239
            {
hgs
parents:
diff changeset
   240
            LOG( "EUsbWatcherErrDandlingCable" );
hgs
parents:
diff changeset
   241
            iWatcher.NotifManager()->ShowNotifierL(KUsbUiNotifOtgError,
hgs
parents:
diff changeset
   242
                    EUsbOtgErrorAttachTimedOut, this);
hgs
parents:
diff changeset
   243
            break;
hgs
parents:
diff changeset
   244
            }
hgs
parents:
diff changeset
   245
        case EUsbWatcherNoActivity:
hgs
parents:
diff changeset
   246
            {
hgs
parents:
diff changeset
   247
            LOG( "EUsbWatcherNoActivity" );
hgs
parents:
diff changeset
   248
            iWatcher.NotifManager()->ShowNotifierL(KUsbUiNotifOtgError,
hgs
parents:
diff changeset
   249
                    EUsbOtgUnsupportedDevice, this);
hgs
parents:
diff changeset
   250
hgs
parents:
diff changeset
   251
            break;
hgs
parents:
diff changeset
   252
            }
hgs
parents:
diff changeset
   253
        case EUsbWatcherErrorInConnection:
hgs
parents:
diff changeset
   254
            {
hgs
parents:
diff changeset
   255
            LOG("EUsbWatcherErrorInConnection" );
hgs
parents:
diff changeset
   256
            iWatcher.NotifManager()->ShowNotifierL(KUsbUiNotifOtgError,
hgs
parents:
diff changeset
   257
                    EUsbOtgErrorInConnection, this);
hgs
parents:
diff changeset
   258
            break;
hgs
parents:
diff changeset
   259
            }
47
hgs
parents: 46
diff changeset
   260
        case EUsbWatcherNoMemory:
hgs
parents: 46
diff changeset
   261
            {
hgs
parents: 46
diff changeset
   262
            LOG("EUsbWatcherNoMemory" );
hgs
parents: 46
diff changeset
   263
            iWatcher.NotifManager()->ShowNotifierL(KUsbUiNotifOtgError,
hgs
parents: 46
diff changeset
   264
                    EUsbOtgErrorNoMemory, this);
hgs
parents: 46
diff changeset
   265
            break;
hgs
parents: 46
diff changeset
   266
            }
46
hgs
parents:
diff changeset
   267
        case EUsbWatcherCanNotStartUsbServices:
hgs
parents:
diff changeset
   268
            {
hgs
parents:
diff changeset
   269
            LOG("EUsbWatcherCanNotStartUsbServices" );
hgs
parents:
diff changeset
   270
            // no break here
hgs
parents:
diff changeset
   271
            }
hgs
parents:
diff changeset
   272
            // no break in following cases
hgs
parents:
diff changeset
   273
        case EUsbWatcherIdPinError:
hgs
parents:
diff changeset
   274
        case EUsbWatcherVBusObserverError:
hgs
parents:
diff changeset
   275
        case EUsbWatcherHostEventNotificationError:
hgs
parents:
diff changeset
   276
        case EUsbWatcherOtgStateError:
hgs
parents:
diff changeset
   277
        case EUsbWatcherMessageNotificationError:
hgs
parents:
diff changeset
   278
        case EUsbWatcherCanNotStartSession:
hgs
parents:
diff changeset
   279
        case EUsbWatcherCanNotEnableDriverLoading:
hgs
parents:
diff changeset
   280
        case EUsbWatcherCanNotClearBusError:
hgs
parents:
diff changeset
   281
        case EUsbWatcherCanNotRaiseVBus:
hgs
parents:
diff changeset
   282
            {
hgs
parents:
diff changeset
   283
            LOG1( "Fatal error iWhat = %d", iWhat );
hgs
parents:
diff changeset
   284
            iWatcher.NotifManager()->ShowNotifierL(KUsbUiNotifOtgError,
hgs
parents:
diff changeset
   285
                    EUsbOtgErrorInConnection, this);
hgs
parents:
diff changeset
   286
            break;
hgs
parents:
diff changeset
   287
            }
hgs
parents:
diff changeset
   288
        default:
hgs
parents:
diff changeset
   289
            {
hgs
parents:
diff changeset
   290
            LOG1("Unexpected situation to be handled iWhat = %d", iWhat );
47
hgs
parents: 46
diff changeset
   291
            PANIC( EUnexpectedSituationToHandle);
46
hgs
parents:
diff changeset
   292
            break;
hgs
parents:
diff changeset
   293
            }
hgs
parents:
diff changeset
   294
        }
hgs
parents:
diff changeset
   295
    }
hgs
parents:
diff changeset
   296
hgs
parents:
diff changeset
   297
/////////////////////////////////////////////////////////////////////////////////////
hgs
parents:
diff changeset
   298
// From VBus observer
hgs
parents:
diff changeset
   299
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   300
// 
hgs
parents:
diff changeset
   301
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   302
//
hgs
parents:
diff changeset
   303
void CUsbStateHostHandleDropping::VBusUpL()
hgs
parents:
diff changeset
   304
    {
hgs
parents:
diff changeset
   305
    LOG_FUNC
hgs
parents:
diff changeset
   306
    ChangeHostStateL( EUsbStateHostAInitiate);
hgs
parents:
diff changeset
   307
    }
hgs
parents:
diff changeset
   308
hgs
parents:
diff changeset
   309
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   310
// this is expected in the state, for example after calling BusDrop
hgs
parents:
diff changeset
   311
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   312
//
hgs
parents:
diff changeset
   313
void CUsbStateHostHandleDropping::VBusDownL()
hgs
parents:
diff changeset
   314
    {
hgs
parents:
diff changeset
   315
    LOG_FUNC
hgs
parents:
diff changeset
   316
    }
hgs
parents:
diff changeset
   317
hgs
parents:
diff changeset
   318
// From Host Event notification observer
hgs
parents:
diff changeset
   319
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   320
// 
hgs
parents:
diff changeset
   321
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   322
//
47
hgs
parents: 46
diff changeset
   323
void CUsbStateHostHandleDropping::AVBusErrorL()
hgs
parents: 46
diff changeset
   324
    {
hgs
parents: 46
diff changeset
   325
    LOG_FUNC
hgs
parents: 46
diff changeset
   326
    iWatcher.Usb().BusClearError();
hgs
parents: 46
diff changeset
   327
    }
hgs
parents: 46
diff changeset
   328
hgs
parents: 46
diff changeset
   329
// ---------------------------------------------------------------------------
hgs
parents: 46
diff changeset
   330
// 
hgs
parents: 46
diff changeset
   331
// ---------------------------------------------------------------------------
hgs
parents: 46
diff changeset
   332
//
46
hgs
parents:
diff changeset
   333
void CUsbStateHostHandleDropping::DeviceAttachedL(
93
hgs
parents: 47
diff changeset
   334
        TDeviceEventInformation /*aDevEventInfo*/)
46
hgs
parents:
diff changeset
   335
    {
hgs
parents:
diff changeset
   336
    LOG_FUNC
hgs
parents:
diff changeset
   337
    }
hgs
parents:
diff changeset
   338
hgs
parents:
diff changeset
   339
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   340
// 
hgs
parents:
diff changeset
   341
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   342
//
hgs
parents:
diff changeset
   343
void CUsbStateHostHandleDropping::DeviceDetachedL(TDeviceEventInformation)
hgs
parents:
diff changeset
   344
    {
hgs
parents:
diff changeset
   345
    LOG_FUNC
hgs
parents:
diff changeset
   346
    }
hgs
parents:
diff changeset
   347
hgs
parents:
diff changeset
   348
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   349
// 
hgs
parents:
diff changeset
   350
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   351
//
hgs
parents:
diff changeset
   352
void CUsbStateHostHandleDropping::DriverLoadSuccessL(TDeviceEventInformation)
hgs
parents:
diff changeset
   353
    {
hgs
parents:
diff changeset
   354
    LOG_FUNC
hgs
parents:
diff changeset
   355
    }
hgs
parents:
diff changeset
   356
hgs
parents:
diff changeset
   357
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   358
// 
hgs
parents:
diff changeset
   359
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   360
//
hgs
parents:
diff changeset
   361
void CUsbStateHostHandleDropping::DriverLoadPartialSuccessL(
hgs
parents:
diff changeset
   362
        TDeviceEventInformation)
hgs
parents:
diff changeset
   363
    {
hgs
parents:
diff changeset
   364
    LOG_FUNC
hgs
parents:
diff changeset
   365
    }
hgs
parents:
diff changeset
   366
hgs
parents:
diff changeset
   367
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   368
// 
hgs
parents:
diff changeset
   369
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   370
//
hgs
parents:
diff changeset
   371
void CUsbStateHostHandleDropping::DriverLoadFailureL(TDeviceEventInformation)
hgs
parents:
diff changeset
   372
    {
hgs
parents:
diff changeset
   373
    LOG_FUNC
hgs
parents:
diff changeset
   374
    }
hgs
parents:
diff changeset
   375
hgs
parents:
diff changeset
   376
// From message notification observer
hgs
parents:
diff changeset
   377
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   378
// 
hgs
parents:
diff changeset
   379
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   380
//
hgs
parents:
diff changeset
   381
void CUsbStateHostHandleDropping::MessageNotificationReceivedL(TInt aMessage)
hgs
parents:
diff changeset
   382
    {
hgs
parents:
diff changeset
   383
    LOG_FUNC
hgs
parents:
diff changeset
   384
hgs
parents:
diff changeset
   385
    LOG1( "aMessage = %d", aMessage )
hgs
parents:
diff changeset
   386
hgs
parents:
diff changeset
   387
    switch (aMessage)
hgs
parents:
diff changeset
   388
        {
93
hgs
parents: 47
diff changeset
   389
        // OTGDI
hgs
parents: 47
diff changeset
   390
        case KEventUsbOtgBadDeviceDetached:
46
hgs
parents:
diff changeset
   391
            {
hgs
parents:
diff changeset
   392
            LOG("BadDeviceDetached" );
hgs
parents:
diff changeset
   393
            ChangeHostStateL( EUsbStateHostUndefined);
hgs
parents:
diff changeset
   394
            break;
hgs
parents:
diff changeset
   395
            }
hgs
parents:
diff changeset
   396
        default:
hgs
parents:
diff changeset
   397
            {
hgs
parents:
diff changeset
   398
            LOG1( "Unhandled message aMessage = %d" , aMessage);
hgs
parents:
diff changeset
   399
            break;
hgs
parents:
diff changeset
   400
            }
hgs
parents:
diff changeset
   401
hgs
parents:
diff changeset
   402
        }
hgs
parents:
diff changeset
   403
    }
47
hgs
parents: 46
diff changeset
   404
hgs
parents: 46
diff changeset
   405
// ---------------------------------------------------------------------------
hgs
parents: 46
diff changeset
   406
// 
hgs
parents: 46
diff changeset
   407
// ---------------------------------------------------------------------------
hgs
parents: 46
diff changeset
   408
//
hgs
parents: 46
diff changeset
   409
void CUsbStateHostHandleDropping::VBusErrorL()
hgs
parents: 46
diff changeset
   410
    {
hgs
parents: 46
diff changeset
   411
    LOG_FUNC
hgs
parents: 46
diff changeset
   412
    iWatcher.Usb().BusClearError();
hgs
parents: 46
diff changeset
   413
    }