#include <File.hpp>
|
enum class | CreateMode : uint32_t {
eUserRead = 0x00000001
, eUserWrite = 0x00000002
, eUserExec = 0x00000004
, eGroupRead = 0x00000010
,
eGroupWrite = 0x00000020
, eGroupExec = 0x00000040
, eOthersRead = 0x00000100
, eOthersWrite = 0x00000200
,
eOthersExec = 0x00000400
, eUserRWX = eUserRead | eUserWrite | eUserExec
, eGroupRWX = eGroupRead | eGroupWrite | eGroupExec
, eOthersRWX = eOthersRead | eOthersWrite | eOthersExec
,
eAllRWX = eUserRWX | eGroupRWX | eOthersRWX
} |
| Enumérateur des modes d'ouverture. Plus de détails...
|
|
enum class | OpenMode : uint32_t {
eDummy = 0x00000000
, eRead = 0x00000001
, eWrite = 0x00000002
, eAppend = 0x00000004
,
eBinary = 0x00000008
} |
| Enumérateur des modes d'ouverture. Plus de détails...
|
|
enum class | OffsetMode : uint8_t {
eBeginning = 0
, eCurrent = 1
, eEnd = 2
, eCount
,
eMin = eBeginning
} |
| Modes d'offset pour la fonction seek. Plus de détails...
|
|
enum class | EncodingMode : uint8_t {
eAuto = 0
, eASCII = 1
, eUTF8 = 2
, eUTF16 = 3
,
eCount
, eMin = eAuto
} |
| Mode d'encodage des fichiers texte. Plus de détails...
|
|
using | TraverseDirFunction = castor::Function< bool( Path const & path ) > |
|
using | HitFileFunction = castor::Function< void( Path const & folder, String const & name ) > |
|
using | FilterFunction = castor::Function< bool( Path const & folder, String const & name ) > |
|
|
static CU_API bool | traverseDirectory (Path const &folderPath, TraverseDirFunction const &directoryFunction, HitFileFunction const &fileFunction) |
| Traverses the files and directories of a directory.
|
|
static CU_API PathArray | filterDirectoryFiles (Path const &folderPath, FilterFunction const &onFile, bool recursive=false) |
| Filters the files in a directory, recursively or not.
|
|
static CU_API bool | listDirectoryFiles (Path const &folderPath, PathArray &files, bool recursive=false) |
| Liste tous les fichiers d'un répertoire, récursivement ou pas.
|
|
static CU_API Path | getExecutableDirectory () |
| donne le répertoire d'exécution
|
|
static CU_API Path | getUserDirectory () |
| donne le répertoire de l'utilisateur courant
|
|
static CU_API bool | directoryExists (Path const &folderPath) |
| Teste l'existence d'un dossier.
|
|
static CU_API bool | directoryCreate (Path const &folderPath, FlagCombination< CreateMode > const &flags=CreateMode::eAllRWX) |
| Crée un dossier.
|
|
static CU_API bool | directoryDelete (Path const &folderPath) |
| Supprime un dossier vide.
|
|
static CU_API bool | fileExists (Path const &filePath) |
| Teste l'existence d'un fichier.
|
|
static CU_API bool | deleteFile (Path const &filePath) |
| Supprime un fichier.
|
|
static CU_API bool | copyFile (Path const &filePath, Path const &folderPath, bool allowReplace=false) |
| Copie un fichier dans un dossier.
|
|
static CU_API bool | copyFileName (Path const &srcFileName, Path const &dstFileName, bool allowReplace=false) |
| Copie un fichier.
|
|
static CU_API String | normaliseFileName (String const &name) |
| Remplace les caractères non valides pour un nim de fichier par des '_'.
|
|
◆ FilterFunction
◆ HitFileFunction
◆ TraverseDirFunction
◆ CreateMode
Enumérateur des modes d'ouverture.
Valeurs énumérées |
---|
eUserRead | Le propriétaire peut lire.
|
eUserWrite | Le propriétaire peut écrire.
|
eUserExec | Le propriétaire peut exécuter.
|
eGroupRead | Le groupe du propriétaire peut lire.
|
eGroupWrite | Le groupe du propriétaire peut écrire.
|
eGroupExec | Le groupe du propriétaire peut exécuter.
|
eOthersRead | Les autres peuvent lire.
|
eOthersWrite | Les autres peuvent écrire.
|
eOthersExec | Les autres peuvent exécuter.
|
eUserRWX | Droits en lecture, écriture et exécution pour le propriétaire.
|
eGroupRWX | Droits en lecture, écriture et exécution pour le groupe du propriétaire.
|
eOthersRWX | Droits en lecture, écriture et exécution pour les autres.
|
eAllRWX | Droits en lecture, écriture et exécution pour tous les utilisateurs.
|
◆ EncodingMode
Mode d'encodage des fichiers texte.
Valeurs énumérées |
---|
eAuto | Encodage de texte en sélection automatique.
|
eASCII | Encodage de texte en ASCII.
|
eUTF8 | Encodage de texte en UTF8.
|
eUTF16 | Encodage de texte en UTF16.
|
eCount | |
eMin | |
◆ OffsetMode
Modes d'offset pour la fonction seek.
Valeurs énumérées |
---|
eBeginning | L'offset est défini par rapport au début du fichier.
|
eCurrent | L'offset est défini par rapport à la position actuelle.
|
eEnd | L'offset est défini par rapport à la fin du fichier.
|
eCount | |
eMin | |
◆ OpenMode
Enumérateur des modes d'ouverture.
Valeurs énumérées |
---|
eDummy | Mode d'ouverture 'dummy', à ne pas utiliser.
|
eRead | Mode d'ouverture en lecture.
|
eWrite | Mode d'ouverture en création / écriture.
|
eAppend | Mode d'ouverture en écriture en fin de fichier.
|
eBinary | Mode d'ouverture en binaire.
|
◆ File()
Ouvre le fichier situé au chemin donné, avec le mode et l'encodage donnés.
- Paramètres
-
[in] | filePath | Le chemin du fichier |
[in] | mode | Le mode d'ouverture, combinaison d'un ou plusieurs OpenMode |
[in] | encoding | Le mode d'encodage du fichier |
◆ ~File()
virtual CU_API castor::File::~File |
( |
| ) |
|
|
virtualnoexcept |
Destructeur, ferme le fichier.
◆ copyFile()
static CU_API bool castor::File::copyFile |
( |
Path const & | filePath, |
|
|
Path const & | folderPath, |
|
|
bool | allowReplace = false ) |
|
static |
Copie un fichier dans un dossier.
- Paramètres
-
[in] | filePath | Le chemin du fichier. |
[in] | folderPath | Le dossier de destination. |
[in] | allowReplace | true pour autroiser le remplacement de fichiers existants. |
- Renvoie
true
si le fichier a été copié correctement.
◆ copyFileName()
static CU_API bool castor::File::copyFileName |
( |
Path const & | srcFileName, |
|
|
Path const & | dstFileName, |
|
|
bool | allowReplace = false ) |
|
static |
Copie un fichier.
- Renvoie
true
si le fichier a été copié correctement
◆ CU_DeclareInvariantBlock()
castor::File::CU_DeclareInvariantBlock |
( |
| ) |
|
|
protected |
◆ deleteFile()
static CU_API bool castor::File::deleteFile |
( |
Path const & | filePath | ) |
|
|
static |
Supprime un fichier.
- Paramètres
-
[in] | filePath | Le chemin du fichier |
- Renvoie
true
si le fichier a été supprimé correctement
◆ directoryCreate()
Crée un dossier.
- Paramètres
-
[in] | folderPath | Le chemin du dossier |
[in] | flags | Les droits d'utilisation |
- Renvoie
true
si le dossier a été créé
◆ directoryDelete()
static CU_API bool castor::File::directoryDelete |
( |
Path const & | folderPath | ) |
|
|
static |
Supprime un dossier vide.
- Paramètres
-
[in] | folderPath | Le chemin du dossier |
- Renvoie
true
si le dossier a été supprimé
◆ directoryExists()
static CU_API bool castor::File::directoryExists |
( |
Path const & | folderPath | ) |
|
|
static |
Teste l'existence d'un dossier.
- Paramètres
-
[in] | folderPath | Le chemin du dossier |
- Renvoie
true
si le dossier existe
◆ doRead()
CU_API uint64_t castor::File::doRead |
( |
uint8_t * | buffer, |
|
|
uint64_t | size ) |
|
protected |
◆ doWrite()
CU_API uint64_t castor::File::doWrite |
( |
uint8_t const * | buffer, |
|
|
uint64_t | size ) |
|
protected |
◆ fileExists()
static CU_API bool castor::File::fileExists |
( |
Path const & | filePath | ) |
|
|
static |
Teste l'existence d'un fichier.
- Paramètres
-
[in] | filePath | Le chemin du fichier |
- Renvoie
true
si le fichier existe
◆ filterDirectoryFiles()
static CU_API PathArray castor::File::filterDirectoryFiles |
( |
Path const & | folderPath, |
|
|
FilterFunction const & | onFile, |
|
|
bool | recursive = false ) |
|
static |
Filters the files in a directory, recursively or not.
- Paramètres
-
[in] | folderPath | The directory path. |
[in] | onFile | The filter function, returns true to add to the list, false to ignore. |
[in] | recursive | Tells if search must be recursive. |
- Renvoie
- The files list.
◆ getExecutableDirectory()
static CU_API Path castor::File::getExecutableDirectory |
( |
| ) |
|
|
static |
donne le répertoire d'exécution
- Renvoie
- Le répertoire
◆ getFileFullPath()
Path const & castor::File::getFileFullPath |
( |
| ) |
const |
|
inline |
Récupère le chemin, nom et extension du fichier.
- Renvoie
- La valeur
Références m_fileFullPath.
◆ getFileName()
Path castor::File::getFileName |
( |
| ) |
const |
|
inline |
◆ getFilePath()
Path castor::File::getFilePath |
( |
| ) |
const |
|
inline |
◆ getLength()
CU_API long long castor::File::getLength |
( |
| ) |
|
Récupère la taille du fichier.
- Renvoie
- La valeur
◆ getUserDirectory()
static CU_API Path castor::File::getUserDirectory |
( |
| ) |
|
|
static |
donne le répertoire de l'utilisateur courant
- Renvoie
- Le répertoire
◆ isOk()
CU_API bool castor::File::isOk |
( |
| ) |
const |
Dit si le curseur du fichier est OK.
- Renvoie
true
si le curseur du fichier n'est pas en erreur ni EOF
◆ listDirectoryFiles()
static CU_API bool castor::File::listDirectoryFiles |
( |
Path const & | folderPath, |
|
|
PathArray & | files, |
|
|
bool | recursive = false ) |
|
static |
Liste tous les fichiers d'un répertoire, récursivement ou pas.
- Paramètres
-
[in] | folderPath | Le chemin du dossier |
[out] | files | Reçoit la liste des fichiers |
[in] | recursive | Définit si la recherche doit être récursive ou pas |
- Renvoie
true
si le dossier a été listé
◆ normaliseFileName()
Remplace les caractères non valides pour un nim de fichier par des '_'.
◆ seek()
Fonction de déplacement dans le fichier, selon l'offset et le mode donnés.
- Paramètres
-
[in] | offset | L'offset |
[in] | origin | Le mode |
- Renvoie
0
si réussi
◆ tell()
CU_API long long castor::File::tell |
( |
| ) |
|
Récupère la position du curseur du fichier.
- Renvoie
- La valeur
◆ traverseDirectory()
Traverses the files and directories of a directory.
- Paramètres
-
[in] | folderPath | The directory path. |
[in] | directoryFunction | returns true to traverse it, false to ignore. |
[in] | fileFunction | Placeholder to handle a file name. |
- Renvoie
false
if any error occured.
◆ m_cursor
uint64_t castor::File::m_cursor { 0 } |
|
protected |
La position actuelle du curseur dans le fichier.
◆ m_encoding
◆ m_file
FILE* castor::File::m_file { nullptr } |
|
protected |
◆ m_fileFullPath
Path castor::File::m_fileFullPath |
|
protected |
◆ m_length
uint64_t castor::File::m_length { 0 } |
|
protected |
La taille totale du fichier.
◆ m_mode
La documentation de cette classe a été générée à partir du fichier suivant :