localconnectivityservice/lcstylustap/inc/lcstylustapdismount.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 18 Jan 2010 21:03:15 +0200
changeset 0 c3e98f10fcf4
permissions -rw-r--r--
Revision: 201001 Kit: 201003

/*
* Copyright (c) 2009 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:  Header file for Stylus Tap indicator
*
*/


#ifndef C_LCSTYLUSTAPDISMOUNT_H
#define C_LCSTYLUSTAPDISMOUNT_H

#include <e32base.h> // CActive
#include <f32file.h> 
#include "forcedismounttimer.h"


/**
 *  Active class dismount notifications notifiers 
 *
 */
NONSHARABLE_CLASS( CLcStylusTapDismount ) : public CActive, 
                                            public MTimerNotifier
    {
public:
    virtual ~CLcStylusTapDismount();
    static CLcStylusTapDismount* NewL();
    static CLcStylusTapDismount* NewLC();
    
public:
    /**
     * Send dismount notifications for all usb drives.
     */
    void DisMountUsbDrives();
    
protected:
    /**
     * Constructor
     */
    CLcStylusTapDismount();
    
    /**
     * ConstructL
     */
    void ConstructL();
    
private:
    /**
     *  Send dismount nontication
     */
    void DoDismount();

private: //from CActive    
    // CActive implementation
    /**
     * RunL
     */
    void RunL();
    
    /**
     * DoCancel
     */
    void DoCancel();
    
private: // from MTimerNotifier

    /**
     * Force dismount timer callback
     */     
    void TimerExpired();    
        
private:
    /**
     * Drive index
     */
    TInt iDriveIndex;
    /**
     * RFs session
     */
    RFs  iRFs;
    
    /**
     * List of drives
     */
    TDriveList iDriveList;    
    
    /**
     * Force dismount timer
     * Own
     */
    CForceDismountTimer* iDismountTimer;
    };



#endif      // __LCSTYLUSTAP_H__