File indexing completed on 2024-06-16 07:42:25

0001 /*
0002     SPDX-FileCopyrightText: 1998-2007 Sebastian Trueg <trueg@k3b.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef _K3B_FILE_SYSTEM_INFO_H_
0007 #define _K3B_FILE_SYSTEM_INFO_H_
0008 
0009 #include "k3b_export.h"
0010 
0011 #include <QString>
0012 
0013 namespace K3b {
0014     class LIBK3B_EXPORT FileSystemInfo
0015     {
0016     public:
0017         FileSystemInfo();
0018         explicit FileSystemInfo( const QString& path );
0019         FileSystemInfo( const FileSystemInfo& );
0020         ~FileSystemInfo();
0021 
0022         QString path() const;
0023         void setPath( const QString& path );
0024 
0025         enum FileSystemType {
0026             FS_UNKNOWN,
0027             FS_FAT
0028             // FIXME: add way more file system types
0029         };
0030 
0031         FileSystemType type() const;
0032 
0033         /**
0034          * Ensures that the file path does not contain
0035          * any invalid chars.
0036          *
0037          * For now it only replaces characters like * or [
0038          * on FAT file systems.
0039          */
0040         QString fixupPath( const QString& );
0041 
0042     private:
0043         class Private;
0044         Private* d;
0045     };
0046 }
0047 
0048 #endif