filemanager/src/inc/fmfiletyperecognizer.h
author hgs
Fri, 25 Jun 2010 17:08:34 +0800
changeset 25 b7bfdea70ca2
child 32 39cf9ced4cc4
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
25
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
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
 * 
hgs
parents:
diff changeset
    15
 * Description:
hgs
parents:
diff changeset
    16
 *      The header file of the file type recognizer
hgs
parents:
diff changeset
    17
 */
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#ifndef FMFILERECOGNIZER_H
hgs
parents:
diff changeset
    20
#define FMFILERECOGNIZER_H
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include <QString>
hgs
parents:
diff changeset
    23
#include <QList>
hgs
parents:
diff changeset
    24
#include <QStringList>
hgs
parents:
diff changeset
    25
#include <QMap>
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
/*!
hgs
parents:
diff changeset
    28
    \class FmFileTypeRecognizer
hgs
parents:
diff changeset
    29
    \brief The class FmFileTypeRecognizer used to recognize file type by path.
hgs
parents:
diff changeset
    30
 */
hgs
parents:
diff changeset
    31
class FmFileTypeRecognizer
hgs
parents:
diff changeset
    32
{
hgs
parents:
diff changeset
    33
public:
hgs
parents:
diff changeset
    34
    enum FileType{
hgs
parents:
diff changeset
    35
        FileTypeDrive,
hgs
parents:
diff changeset
    36
        FileTypeFolder,
hgs
parents:
diff changeset
    37
        FileTypeImage,
hgs
parents:
diff changeset
    38
        FileTypeVideo,
hgs
parents:
diff changeset
    39
        FileTypeTone,
hgs
parents:
diff changeset
    40
        FileTypePlaylist, 
hgs
parents:
diff changeset
    41
        FileTypeText,
hgs
parents:
diff changeset
    42
        FileTypeSisx,
hgs
parents:
diff changeset
    43
        FileTypeJava, 
hgs
parents:
diff changeset
    44
        FileTypeFlash, 
hgs
parents:
diff changeset
    45
        FileTypeWidget, 
hgs
parents:
diff changeset
    46
        FileTypeWebLink, 
hgs
parents:
diff changeset
    47
        FileTypeUnKnown
hgs
parents:
diff changeset
    48
    };
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
public:
hgs
parents:
diff changeset
    52
    FmFileTypeRecognizer();
hgs
parents:
diff changeset
    53
    virtual ~FmFileTypeRecognizer();
hgs
parents:
diff changeset
    54
    
hgs
parents:
diff changeset
    55
    /*!
hgs
parents:
diff changeset
    56
     Recognize file type, currently only judge file by its extension name.
hgs
parents:
diff changeset
    57
     */
hgs
parents:
diff changeset
    58
    FmFileTypeRecognizer::FileType getType( const QString& path ) const ;
hgs
parents:
diff changeset
    59
    
hgs
parents:
diff changeset
    60
    /*!
hgs
parents:
diff changeset
    61
     Profide a list of extension name by designate the FileType.
hgs
parents:
diff changeset
    62
     */
hgs
parents:
diff changeset
    63
    const QStringList getFileListFromFileType( const FmFileTypeRecognizer::FileType fileType ) const;
hgs
parents:
diff changeset
    64
    
hgs
parents:
diff changeset
    65
private:    
hgs
parents:
diff changeset
    66
    // used to store FileType, extension name list pare.
hgs
parents:
diff changeset
    67
    QMap<FileType, QStringList> mFileTypeMap;
hgs
parents:
diff changeset
    68
    
hgs
parents:
diff changeset
    69
    // used to store single extension name, FileType pare.
hgs
parents:
diff changeset
    70
    // this map comes from mFileTypeMap
hgs
parents:
diff changeset
    71
    QMap<QString, FileType>     mFileExtensionMap;
hgs
parents:
diff changeset
    72
};
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
#endif /* FMDRIVEDETAILSTYPE_H */
hgs
parents:
diff changeset
    75