Sayonara Player
FileUtils.h
1/* FileUtils.h */
2
3/* Copyright (C) 2011-2020 Michael Lugmair (Lucio Carreras)
4 *
5 * This file is part of sayonara player
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef FileUtils_H
22#define FileUtils_H
23
24#include <QList>
25#include <utility>
26#include "typedefs.h"
27
28class QStringList;
29class QString;
30class QChar;
31class QByteArray;
32
33namespace Util
34{
39 namespace File
40 {
46 QString cleanFilename(const QString& filename);
47
48 QByteArray getMD5Sum(const QString& filename);
49
55 void removeFilesInDirectory(const QString& dirName, const QStringList& filters);
56 void removeFilesInDirectory(const QString& dirName);
57
62 void deleteFiles(const QStringList& files);
63
69 QString getParentDirectory(const QString& path);
70
76 QString getFilenameOfPath(const QString& path);
77
84 void splitFilename(const QString& src, QString& dir, QString& filename);
85 std::pair<QString, QString> splitFilename(const QString& src);
86
92 QStringList splitDirectories(const QString& path);
93
99 QString getFileExtension(const QString& filename);
100
106 QStringList getParentDirectories(const QStringList& list);
107
113 QString getAbsoluteFilename(const QString& filename);
114
119 bool createDirectories(const QString& path);
120
127 bool createSymlink(const QString& source, const QString& target);
128
129
130 bool checkSymLink(const QString& symlinkPath);
131
132
138 QString getFilesizeString(Filesize filesize);
139
140
146 bool isAbsolute(const QString& filename);
147
148
149 QList<QChar> invalidFilenameChars();
150
151
158 bool writeFile(const QByteArray& raw_data, const QString& filename);
159
166 bool readFileIntoString(const QString& filename, QString& content);
167
174 bool readFileIntoByteArray(const QString& filename, QByteArray& content);
175
181 bool checkFile(const QString& filepath);
182
188 QString getCommonDirectory(const QStringList& paths);
189
196 QString getCommonDirectory(QString dir1, QString dir2);
197
203 bool createDir(const QString& dirName);
204
211 bool copyDir(const QString& srcDir, const QString& targetDirectory, QString& new_filename);
212
219 bool moveDir(const QString& srcDir, const QString& targetDirectory, QString& new_filename);
220
227 bool renameDir(const QString& srcDir, const QString& newName);
228
235 bool canCopyDir(const QString& srcDir, const QString& targetDirectory);
236
243 bool moveFile(const QString& file, const QString& dir, QString& newName);
244
251 bool copyFile(const QString& file, const QString& dir, QString& newName);
252
259 bool moveFiles(const QStringList& files, const QString& dir, QStringList& newNames);
260
267 bool renameFile(const QString& oldName, const QString& newName);
268
275 bool copyFiles(const QStringList& files, const QString& dir, QStringList& new_files);
276
277
278 // Everything clear
284 bool isUrl(const QString& str);
285
291 bool isWWW(const QString& str);
292
298 bool isFile(const QString& filename);
299
305 bool isDir(const QString& filename);
306
312 bool isSoundFile(const QString& extension);
313
319 bool isPlaylistFile(const QString& extension);
320
326 bool isImageFile(const QString& extension);
327
333 bool exists(const QString& filename);
334
341 bool isSamePath(const QString& filename1, const QString& filename2);
342
349 bool isSubdir(const QString& dir, const QString& parentDir);
350 }
351}
352
353#endif // FileUtils_H
Definition: EngineUtils.h:33
bool isWWW(const QString &str)
is_www
bool readFileIntoByteArray(const QString &filename, QByteArray &content)
read a complete file into a byte array
bool checkFile(const QString &filepath)
Check, if file is valid. Web URLs are always valid.
void removeFilesInDirectory(const QString &dirName, const QStringList &filters)
Remove all files from directory.
bool isAbsolute(const QString &filename)
Tell whether filename is absolute.
void splitFilename(const QString &src, QString &dir, QString &filename)
split filename into the dir and filename
QString getParentDirectory(const QString &path)
get parent directory of a filepath
bool readFileIntoString(const QString &filename, QString &content)
read a complete file into a string
QString getCommonDirectory(const QStringList &paths)
get_commonDirectory
bool writeFile(const QByteArray &raw_data, const QString &filename)
Write raw data to file.
bool moveDir(const QString &srcDir, const QString &targetDirectory, QString &new_filename)
moveDir
QStringList splitDirectories(const QString &path)
returns all parts of a directory path
QString cleanFilename(const QString &filename)
formatter for filepaths. Removes double separators and replaces them with os specific separators.
bool renameDir(const QString &srcDir, const QString &newName)
renameDir
QString getFilenameOfPath(const QString &path)
extract pure filename from a complete file path
bool isFile(const QString &filename)
is_file
QString getFilesizeString(Filesize filesize)
convert filesize to string
bool canCopyDir(const QString &srcDir, const QString &targetDirectory)
can_copyDir
bool isSubdir(const QString &dir, const QString &parentDir)
Checks if dir is a subdir of parentDir.
bool isUrl(const QString &str)
is_url
bool copyDir(const QString &srcDir, const QString &targetDirectory, QString &new_filename)
copyDir
bool copyFile(const QString &file, const QString &dir, QString &newName)
copy_file
QStringList getParentDirectories(const QStringList &list)
extract parent folder of a file list (see also get_parentDirectory(const QString& path)
void deleteFiles(const QStringList &files)
Remove all given files (also directories can be specified)
bool renameFile(const QString &oldName, const QString &newName)
rename_file
QString getFileExtension(const QString &filename)
get file extension
bool createDirectories(const QString &path)
create all directories necessary to access path
bool createSymlink(const QString &source, const QString &target)
create_symlink
bool moveFiles(const QStringList &files, const QString &dir, QStringList &newNames)
move_files
bool exists(const QString &filename)
exists
bool copyFiles(const QStringList &files, const QString &dir, QStringList &new_files)
copy_files
bool createDir(const QString &dirName)
createDir
bool isSoundFile(const QString &extension)
is_soundfile
bool isPlaylistFile(const QString &extension)
is_playlistfile
bool moveFile(const QString &file, const QString &dir, QString &newName)
move_file
QString getAbsoluteFilename(const QString &filename)
get absolute filename of file
bool isImageFile(const QString &extension)
is_imagefile
bool isSamePath(const QString &filename1, const QString &filename2)
Compares two filepaths by cleaning them.
bool isDir(const QString &filename)
isDir
Helper functions.
Definition: Utils.h:38