]> git.localhorst.tv Git - l2e.git/blobdiff - src/loader/Loader.h
added (untested) loader
[l2e.git] / src / loader / Loader.h
diff --git a/src/loader/Loader.h b/src/loader/Loader.h
new file mode 100644 (file)
index 0000000..7717167
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * 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>
+
+class Loader {
+
+public:
+       Loader() { }
+       ~Loader();
+
+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);
+
+private:
+       std::map<std::string, LoadedObjectFile> objectFiles;
+       std::map<std::string, LoadedExport> exports;
+
+};
+
+}
+#endif /* LOADER_LOADER_H_ */