- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# src/ResReader/ResReader.hpp

Go to the documentation of this file.

    00001 #ifndef RES_READER_HPP
    00002 #define RES_READER_HPP
    00003
    00004 // Détection du système cible...
    00005 #include "usgeDetectSystem.h"
    00006
    00007 #include <stdio.h>
    00008 #include <string>
    00009 #include <vector>
    00010
    00011 namespace USpeedGameEngine
    00012 {
    00013
    00014 class ResReader
    00015 {
    00016     // Les variables
    00017     public:
    00018     protected:
    00019     private:
    00023         struct IndexEntry
    00024         {
    00025             std::string key;
    00026             unsigned int position;
    00027             unsigned int length;
    00028             unsigned int blocks;
    00029             unsigned int blocks_x2;
    00030             unsigned int blocksPos;
    00031             std::string blockSizeList;
    00032         };
    00033         FILE *file;
    00034         std::vector<struct IndexEntry> index;
    00035         std::string password;
    00036         unsigned int blockSize;
    00037         char *readBuffer;
    00038
    00039     // Les fonctions
    00040     public:
    00041         // Constructeur par défaut
    00042         ResReader();
    00043         // Destructeur par défaut
    00044         ~ResReader();
    00045         // Ouvre le fichier spécifié et charge l'index
    00046         bool open(std::string const &filename, std::string const &pwd);
    00047         bool open(std::string const &filename);
    00048         // Ferme le fichier ouvert
    00049         void close();
    00050
    00051         // Charge la ressource ou la partie de ressource demandée
    00052         bool load(std::string const &key, std::string &value);
    00053         // Charge le segment de ressource demandé
    00054         bool loadPart(std::string const &key, std::string &value, unsigned int partToRead);
    00055         bool loadPart(std::string const &key, std::string &value, unsigned int seekPosition, unsigned int sizeToRead);
    00056         // Retourne la liste des clés lues dans l'index
    00057         void getKeys(std::vector<std::string> &keys);
    00058     protected:
    00059     private:
    00060 };
    00061
    00062 }        // Fin "namespace USpeedGameEngine"
    00063
    00064 #endif