| author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> | 
| Thu, 15 Jul 2010 19:36:50 +0300 | |
| branch | RCL_3 | 
| changeset 19 | 94b923fa11ed | 
| parent 0 | 164170e6151a | 
| permissions | -rw-r--r-- | 
| 0 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 1 | /* | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 2 | * Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 3 | * All rights reserved. | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 4 | * This component and the accompanying materials are made available | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 5 | * under the terms of "Eclipse Public License v1.0" | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 6 | * which accompanies this distribution, and is available | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 7 | * at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 8 | * | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 9 | * Initial Contributors: | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 10 | * Nokia Corporation - initial contribution. | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 11 | * | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 12 | * Contributors: | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 13 | * | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 14 | * Description: | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 15 | * Implements a watcher for MMC disk change events. | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 16 | * | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 17 | * | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 18 | */ | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 19 | |
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 20 | |
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 21 | #include <e32base.h> | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 22 | #include <f32file.h> | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 23 | #include "DevEncMmcObserver.h" | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 24 | |
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 25 | |
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 26 | EXPORT_C CMmcObserver* CMmcObserver::NewL( MMemoryCardObserver* aObserver, | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 27 | RFs* aFileServerSession ) | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 28 |     {
 | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 29 | CMmcObserver* self = new(ELeave) CMmcObserver(); | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 30 | CleanupStack::PushL( self ); | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 31 | self->ConstructL( aObserver, aFileServerSession ); | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 32 | CleanupStack::Pop( self ); | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 33 | return self; | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 34 | } | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 35 | |
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 36 | void CMmcObserver::ConstructL( MMemoryCardObserver* aObserver, | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 37 | RFs* aFileServerSession ) | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 38 |     {
 | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 39 | iObserver = aObserver; | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 40 | iFsSession = aFileServerSession; | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 41 | CActiveScheduler::Add( this ); | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 42 | } | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 43 | |
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 44 | CMmcObserver::CMmcObserver() : CActive( EPriorityIdle ) | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 45 |     {
 | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 46 | } | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 47 | |
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 48 | CMmcObserver::~CMmcObserver() | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 49 |     {
 | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 50 | Cancel(); | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 51 | } | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 52 | |
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 53 | void CMmcObserver::DoCancel() | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 54 |     {
 | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 55 | iFsSession->NotifyChangeCancel(); | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 56 | } | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 57 | |
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 58 | void CMmcObserver::RunL() | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 59 |     {
 | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 60 |     //TRACES(RDebug::Print( _L("CMmcObserver::RunL status: %d"), iStatus.Int() ) );
 | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 61 | iObserver->MMCStatusChangedL(); | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 62 | StartObserver(); | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 63 | } | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 64 | |
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 65 | EXPORT_C void CMmcObserver::StartObserver() | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 66 |     {
 | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 67 |     //TRACES(RDebug::Print(_L("CMmcObserver::StartObserver")));
 | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 68 | if ( IsActive() ) | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 69 |         {
 | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 70 | Cancel(); | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 71 | } | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 72 | iFsSession->NotifyChange( ENotifyDisk, iStatus ); | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 73 | SetActive(); | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 74 | } | 
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 75 | |
| 
164170e6151a
Revision: 201004
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 76 | // End of File |