Sayonara Player
FileUtils.h
1 /* FileUtils.h */
2 
3 /* Copyright (C) 2011-2019 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 <cstdint>
25 
26 class QStringList;
27 class QString;
28 class QByteArray;
29 
30 namespace Util
31 {
36  namespace File
37  {
43  QString clean_filename(const QString& filename);
44 
50  QString calc_file_extension(const QString& filename);
51 
52  QByteArray calc_md5_sum(const QString& filename);
53 
59  void remove_files_in_directory(const QString& dir_name, const QStringList& filters);
60  void remove_files_in_directory(const QString& dir_name);
61 
66  void delete_files(const QStringList& files);
67 
73  QString get_parent_directory(const QString& path);
74 
80  QString get_filename_of_path(const QString& path);
81 
88  void split_filename(const QString& src, QString& dir, QString& filename);
89 
95  QStringList split_directories(const QString& path);
96 
102  QString get_file_extension(const QString& filename);
103 
109  QStringList get_parent_directories(const QStringList& list);
110 
116  QString get_absolute_filename(const QString& filename);
117 
122  bool create_directories(const QString& path);
123 
130  bool create_symlink(const QString& source, const QString& target);
131 
132 
138  QString calc_filesize_str(uint64_t filesize);
139 
140 
146  bool is_absolute(const QString& filename);
147 
148 
155  bool write_file(const QByteArray& raw_data, const QString& filename);
156 
163  bool read_file_into_str(const QString& filename, QString& content);
164 
171  bool read_file_into_byte_arr(const QString& filename, QByteArray& content);
172 
178  bool check_file(const QString& filepath);
179 
185  bool is_in_sayonara_dir(const QString& path);
186 
192  QString get_common_directory(const QStringList& paths);
193 
200  QString get_common_directory(QString dir1, QString dir2);
201 
207  bool create_dir(const QString& dir_name);
208 
215  bool copy_dir(const QString& src_dir, const QString& target_dir);
216 
223  QString move_dir(const QString& src_dir, const QString& target_dir);
224 
231  bool rename_dir(const QString& src_dir, const QString& new_name);
232 
239  bool can_copy_dir(const QString& src_dir, const QString& target_dir);
240 
247  bool move_file(const QString& file, const QString& dir);
248 
255  bool copy_file(const QString& file, const QString& dir);
256 
263  bool move_files(const QStringList& files, const QString& dir);
264 
271  bool rename_file(const QString& old_name, const QString& new_name);
272 
279  bool copy_files(const QStringList& files, const QString& dir);
280 
281 
282  // Everything clear
288  bool is_url(const QString& str);
289 
295  bool is_www(const QString& str);
296 
302  bool is_file(const QString& filename);
303 
309  bool is_dir(const QString& filename);
310 
316  bool is_soundfile(const QString& filename);
317 
323  bool is_playlistfile(const QString& filename);
324 
330  bool is_imagefile(const QString& filename);
331 
337  bool exists(const QString& filename);
338  }
339 }
340 
341 #endif // FileUtils_H
bool is_imagefile(const QString &filename)
is_imagefile
bool copy_dir(const QString &src_dir, const QString &target_dir)
copy_dir
bool move_file(const QString &file, const QString &dir)
move_file
void remove_files_in_directory(const QString &dir_name, const QStringList &filters)
Remove all files from directory.
bool create_symlink(const QString &source, const QString &target)
create_symlink
bool copy_files(const QStringList &files, const QString &dir)
copy_files
bool exists(const QString &filename)
exists
bool create_dir(const QString &dir_name)
create_dir
QString clean_filename(const QString &filename)
formatter for filepaths. Removes double separators and replaces them with os specific separators.
QString move_dir(const QString &src_dir, const QString &target_dir)
move_dir
bool is_www(const QString &str)
is_www
bool copy_file(const QString &file, const QString &dir)
copy_file
QStringList get_parent_directories(const QStringList &list)
extract parent folder of a file list (see also get_parent_directory(const QString& path)
QStringList split_directories(const QString &path)
returns all parts of a directory path
void delete_files(const QStringList &files)
Remove all given files (also directories can be specified)
bool rename_file(const QString &old_name, const QString &new_name)
rename_file
bool is_dir(const QString &filename)
is_dir
QString get_filename_of_path(const QString &path)
extract pure filename from a complete file path
bool is_absolute(const QString &filename)
Tell whether filename is absolute.
bool is_file(const QString &filename)
is_file
bool rename_dir(const QString &src_dir, const QString &new_name)
rename_dir
bool is_url(const QString &str)
is_url
Helper functions.
Definition: GenreView.h:35
QString get_common_directory(const QStringList &paths)
get_common_directory
bool can_copy_dir(const QString &src_dir, const QString &target_dir)
can_copy_dir
bool read_file_into_byte_arr(const QString &filename, QByteArray &content)
read a complete file into a byte array
void split_filename(const QString &src, QString &dir, QString &filename)
split filename into the dir and filename
bool check_file(const QString &filepath)
Check, if file is valid. Web URLs are always valid.
bool move_files(const QStringList &files, const QString &dir)
move_files
QString calc_file_extension(const QString &filename)
calc_file_extension
QString calc_filesize_str(uint64_t filesize)
convert filesize to string
bool read_file_into_str(const QString &filename, QString &content)
read a complete file into a string
QString get_parent_directory(const QString &path)
get parent directory of a filepath
bool is_soundfile(const QString &filename)
is_soundfile
bool write_file(const QByteArray &raw_data, const QString &filename)
Write raw data to file.
QString get_file_extension(const QString &filename)
get file extension
QString get_absolute_filename(const QString &filename)
get absolute filename of file
bool create_directories(const QString &path)
create all directories necessary to access path
bool is_in_sayonara_dir(const QString &path)
is_in_sayonara_dir
bool is_playlistfile(const QString &filename)
is_playlistfile