- Page principale
- Espaces de nommage
- Classes
- Fichiers

- Liste des fichiers
- Membres de fichier

# src/Tools/Tools.hpp

Aller à la documentation de ce fichier.

    00001 #ifndef TOOLS_HPP
    00002 #define TOOLS_HPP
    00003
    00004 // Détection du système cible...
    00005 #include "usgeDetectSystem.h"
    00006
    00007 // C++
    00008 #include <string>
    00009 #include <vector>
    00010 #include <map>
    00011
    00012
    00013 namespace USpeedGameEngine
    00014 {
    00015
    00016 class Tools
    00017 {
    00018     /****************
    00019     * Les attributs *
    00020     ****************/
    00021     public :
    00022     protected :
    00023     private :
    00024
    00025     /***************
    00026     * Les méthodes *
    00027     ***************/
    00028     public :
    00029         // Destructeur par défaut
    00030         ~Tools();
    00031
    00033         // Travail sur les chaînes //
    00035         // Découpe la chaîne au séparateur spécifié
    00036         static void splitString(std::string const &myString, std::string const &separator, std::vector<std::string> &target);
    00037         // Remplace une chaîne par une autre dans la chaîne fournie
    00038         static void replaceString(std::string const &myString, std::string const &from, std::string const &to, std::string &target);
    00039         static void replaceString(std::string &myString, std::string const &from, std::string const &to);
    00040         // Convertit la chaîne en minuscules
    00041         static void stringToLower(std::string &myString);
    00042         // Convertit la chaîne en majuscules
    00043         static void stringToUpper(std::string &myString);
    00044         // Retire tous les accents des lettres (majuscules et minuscules)
    00045         static void stringAlphaOnly(std::string &myString);
    00046
    00048         // Base 64 //
    00050         // Encode les données spécifiées en base 64
    00051         static bool toBase64(std::string const &toEncode, std::string &target);
    00052         static bool toBase64(std::string &toEncode);
    00053         // Décode les données spécifiées depuis la base 64
    00054         static bool fromBase64(std::string const &toDecode, std::string &target);
    00055         static bool fromBase64(std::string &toDecode);
    00056         // Transforme le nombre spécifié de la base 10 à la base 64
    00057         static void numberToBase64(unsigned long int number, std::string &target);
    00058         // Transforme le nombre spécifié de la base 64 à la base 10
    00059         static unsigned long int numberFromBase64(std::string const &number);
    00060
    00062         // Compression Zip //
    00064         // Compresser les données spécifiées vers le tampon spécifié
    00065         static bool zip(std::string const &toCompress, std::string &compressed);
    00066         static bool zip(std::string &toCompress);
    00067         // Décompresser les données spécifiées vers le tampon spécifié avec un tampon de taille par défaut mis à 500Ko
    00068         static bool unzip(std::string const &toUncompress, std::string &uncompressed);
    00069         static bool unzip(std::string &toUncompress);
    00070
    00072         // Cryptage et décryptage AES //
    00074         static bool toAES(std::string const &toCrypt, std::string const &key, std::string &target);
    00075         static bool toAES(std::string &toCrypt, std::string const &key);
    00076         static bool fromAES(std::string const &toDecrypt, std::string const &key, std::string &target);
    00077         static bool fromAES(std::string &toDecrypt, std::string const &key);
    00078
    00080         // Format INI //
    00082         // Lecture du fichier INI (sous forme de chaîne) vers un tableau de données (donnees[cle] = valeur)
    00083         static void tableFromIni(std::string const &iniInfos, std::map<std::string, std::string> &target);
    00084         // Retourne une chaîne structurée comme un fichier INI depuis un tableau de données (table[cle] = valeur)
    00085         static void iniFromTable(std::map<std::string, std::string> &table, std::string &target);
    00086         // Convertie la chaîne spécifiée au format nécéssaire pour les fichiers INI du système
    00087         static void stringToIniFormat(std::string const &myString, std::string &target);
    00088         static void stringToIniFormat(std::string &myString);
    00089         // Convertie la chaîne spécifiée depuis le format nécéssaire pour les fichiers INI du système vers le format initial
    00090         static void stringFromIniFormat(std::string const &myString, std::string &target);
    00091         static void stringFromIniFormat(std::string &myString);
    00092
    00094         // Autres //
    00096         // Récupère la partie suivante du fichier spécifié
    00097         static bool nextPartOfFile(FILE *file, std::string &buffer, unsigned long int &fileSize);
    00098         // Encode les données spécifiées en md5
    00099         static bool md5(std::string const &toEncode, std::string &target, bool shortMD5);
    00100         static bool md5(std::string &toEncode, bool shortMD5);
    00101         // Calcul de la signature SHA-256 des données fournies vers le tampon spécifié.
    00102         static void sha256(std::string const &toHash, std::string &target);
    00103         // Calcul de la signature SHA-512 des données fournies vers le tampon spécifié.
    00104         static void sha512(std::string const &toHash, std::string &target);
    00105         // Calcul de la signature CRC-32 (Cyclic Redundance Check) : Contrôle de Redondance Cyclique sur 32 bits.
    00106         static unsigned long int crc32(std::string const &data);
    00107         // Convertit le tableau d'octets en hexadécimal
    00108         static bool toHexa(std::string const &toEncode, std::string &target);
    00109         static bool toHexa(std::string &toEncode);
    00110         // Convertit le tableau d'octets en hexadécimal en valeur numérique.
    00111         static unsigned long int fromHexa(std::string const &toDecode);
    00112
    00113     protected :
    00114     private :
    00115         // Constructeur par défaut
    00116         Tools();
    00117 };
    00118
    00119 }        // Fin "namespace USpeedGameEngine"
    00120
    00121 #endif