RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
Loading...
Searching...
No Matches
cwexe.h
1#ifndef CWEXE_H
2#define CWEXE_H
3
4#include "../common.h"
5#include "../linker/reader.h"
6#include "../linker/segment_manager.h"
7#include "../linker/writer.h"
8
9/* TODO: unimplemented */
10
11namespace CauseWay
12{
17 {
18 public:
19 /* * * General members * * */
20 // TODO
21
22 void ReadFile(const std::shared_ptr<Linker::Reader>& rd) override;
24 offset_t WriteFile(const std::shared_ptr<Linker::Writer>& wr) const override;
25
26 void Dump(Dumper::Dumper& dump) const override;
27
28 void CalculateValues() override;
29
30 /* * * Reader members * * */
31
32 /* * * Writer members * * */
34 std::string GetDefaultExtension(Linker::Module& module, std::string filename) const override;
35 };
36}
37
38#endif /* CWEXE_H */
CauseWay format (signature 3P)
Definition cwexe.h:17
std::string GetDefaultExtension(Linker::Module &module, std::string filename) const override
Appends a default extension to the filename.
Definition cwexe.cc:35
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition cwexe.cc:30
void ReadFile(const std::shared_ptr< Linker::Reader > &rd) override
Loads file into memory.
Definition cwexe.cc:8
void Dump(Dumper::Dumper &dump) const override
Display file contents in a nice manner.
Definition cwexe.cc:19
offset_t WriteFile(const std::shared_ptr< Linker::Writer > &wr) const override
Stores data in memory to file.
Definition cwexe.cc:13
An abstract interface that separates structure and presentation of the data inside a file.
Definition dumper.h:1009
offset_t WriteFile(const std::shared_ptr< Writer > &wr) const override=0
Stores data in memory to file.
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:24
virtual std::string GetDefaultExtension(Module &module, std::string filename) const
Appends a default extension to the filename.
A helper class to collect sections into segments.
Definition segment_manager.h:32