videocollection/hgmyvideos/inc/TIptvDriveInfo.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 15 Jul 2010 18:41:27 +0300
branchRCL_3
changeset 20 2d690156cf8f
parent 8 ce5ada96ab30
permissions -rw-r--r--
Revision: 201025 Kit: 2010127

/*
* 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 the License "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 TIptvDriveInfo class*
*/





#ifndef TIPTVDRIVEINFO_H
#define TIPTVDRIVEINFO_H

//  INCLUDES
#include <e32base.h>

const TInt KIptvDriveNameMaxLength = 256;

// CLASS DECLARATION
/**
* Container class for storing drive info relevant for Video Center.
*/
class TIptvDriveInfo
    {
    public:

        /*
        * Attribute flags used in iFlags member.
        */
        enum TDriveAttributes
            {
            /**
            * Media can be removed from the drive, (E or F, depending on hw configuration).
            * If not set (= 0) then the drive is fixed.
            */
            ERemovable = 1 << 0,

            /**
            * Default mass storage drive.
            */
            EMassStorage = 1 << 1,
            
            /**
            * Media is locked.
            */
            ELocked = 1 << 2,
            
            /**
            * Media is removed from the drive.
            */
            EMediaNotPresent = 1 << 3            
            };
            
        /**
        * Constructor, clears member variables to zero.
        */
        TIptvDriveInfo();

        /**
        * Destructor.
        */
        ~TIptvDriveInfo();
            
    public:
    
        /**
        * Drive ID number, 0 points to A:, 1 to B:, 2 to C: and so on.
        */
        TInt iDrive;

        /**
        * Drive char.
        */
        TChar iDriveChar;
        
        /**
        * Drive type, same as TDriveInfo::iType.
        */
        TInt iType;

        /**
        * Properties of the drive, see TDriveAttributes -enum for flag values.
        */
        TUint32 iFlags;
        
        /**
        * Volume name. Removable drive can contain different volumes (mmc cards). This name
        * refers to removable item (card label), not the drive. 
        */
        TBuf<KIptvDriveNameMaxLength> iVolumeName;
    };

#endif