]> git.localhorst.tv Git - l2e.git/blobdiff - src/loader/Loader.h
new object file format in compiler
[l2e.git] / src / loader / Loader.h
index 7717167e30361335b1cf1ac6478f5f39f6a7f8dc..cf7dd132a3e76b60c44464cb44aff5a0af82a6fd 100644 (file)
@@ -1,21 +1,14 @@
-/*
- * Loader.h
- *
- *  Created on: Sep 13, 2012
- *      Author: holy
- */
-
 #ifndef LOADER_LOADER_H_
 #define LOADER_LOADER_H_
 
 #include "ObjectFile.h"
 #include "TypeDescription.h"
 
-namespace loader {
-
 #include <map>
 #include <string>
-#include <vector>
+#include <SDL.h>
+
+namespace loader {
 
 class Loader {
 
@@ -27,18 +20,16 @@ public:
        void Load(const std::string &file);
 
 private:
-       void LoadHeader(LoadedObjectFile &);
-       void LoadExports(LoadedObjectFile &);
-       void LinkExternals(LoadedObjectFile &);
-       void LoadImages(LoadedObjectFile &);
-       void LinkObjects(LoadedObjectFile &);
-       void LinkObject(LoadedObjectFile &, const TypeDescription &, char *object);
+       void LoadExports(char *src, Export *begin, Export *end);
+       void LoadExternals(char *src, External *begin, External *end);
+       void LoadObjects(char *src, Object *begin, Object *end);
+       void LoadObject(char *src, char *dest, const TypeDescription &);
 
 private:
-       std::map<std::string, LoadedObjectFile> objectFiles;
+       std::map<std::string, char *> objectFiles;
        std::map<std::string, LoadedExport> exports;
 
 };
 
 }
-#endif /* LOADER_LOADER_H_ */
+#endif