/* * Name: CInstructionFactory * Author: Martin Perner, 0725782, 535 * E-Mail: e0725782@student.tuwien.ac.at * Purpose: Factory for creating commands from shared libraries * Date: 29.04.2009 */ #ifndef __CINSTRUCTIONFACTORY_H__ #define __CINSTRUCTIONFACTORY_H__ #include "Iinstr.hpp" #include #include #include #include #include #include #include #include #include /** * Name: CInstructionFactory * Purpose: Factory for creating commands from shared libraries */ class CInstrFactory { private: std::map m_libStore; std::vector m_files; Iinstr* loadFromLib(std::string lib); public: Iinstr* getNextInstr(); size_t getNumFiles(); size_t searchLibsInDir(std::string dir); void loadLibsIntoMap(map& instr, string dir); CInstrFactory() : m_libStore(), m_files() {}; ~CInstrFactory(); }; #endif