//--- // fxos.library: Management of resource files into libraries //--- #ifndef FXOS_LIBRARY_H #define FXOS_LIBRARY_H #include #include #include #include #include namespace FxOS { struct Library { Library() = default; /* Add a new search path in the library. */ void add_path(std::string path); /* Recursively explore the fxos data file in a folder. */ void explore(std::string path); /* Directly load an fxos data file into the library. Normally called by explore() only, but might be useful here. */ void load(std::string path); /* List of search directories */ const std::vector &paths() { return m_paths; } /* Targets loaded by exploration */ const std::map &targets() { return m_targets; } /* Simple list of assembly tables */ const std::vector> &asm_tables() { return m_asmtables; } /* List of symbol tables */ const std::vector &sym_tables() { return m_symtables; } private: std::vector m_paths; std::map m_targets; std::vector> m_asmtables; std::vector m_symtables; }; } /* namespace FxOS */ #endif /* FXOS_LIBRARY_H */