ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
interface class for libraries. More...
#include <LibraryInterface.h>
Public Member Functions | |
LibraryInterface (std::string name) | |
virtual | ~LibraryInterface () |
virtual std::string | versionInfo () |
simple version info string. intended to present information in a human readable way. More... | |
virtual unsigned | countPlugins () |
virtual unsigned | countCPUArchs () |
virtual unsigned | countJITs () |
virtual std::string | nameJIT (unsigned index) |
virtual std::string | namePlugin (unsigned index) |
virtual std::string | nameCPUArch (unsigned index) |
virtual etiss::JIT * | createJIT (unsigned index, std::map< std::string, std::string > options=std::map< std::string, std::string >()) |
virtual etiss::CPUArch * | createCPUArch (unsigned index, std::map< std::string, std::string > options=std::map< std::string, std::string >()) |
virtual etiss::Plugin * | createPlugin (unsigned index, std::map< std::string, std::string > options=std::map< std::string, std::string >()) |
virtual void | deleteJIT (etiss::JIT *) |
virtual void | deleteCPUArch (etiss::CPUArch *) |
virtual void | deletePlugin (etiss::Plugin *) |
virtual bool | isEmpty () |
returns true if this library provides nothing More... | |
virtual const std::string & | getName () |
Static Public Member Functions | |
static std::shared_ptr< LibraryInterface > | openSharedLibrary (std::string path, std::string name) |
static std::shared_ptr< LibraryInterface > | openIntegratedLibrary () |
static unsigned | getCurrentLibraryVersion () |
static void | addSearchPath (const std::string &path) |
Private Attributes | |
std::string | name_ |
interface class for libraries.
override functions as needed.
it is neccessary to override all function of the same category. e.g. for plugins: countPlugins(),namePlugin(1),createPlugin(1),deletePlugin(1). isEmpty() uses countXXXXXX() functions to assess its return value and doesn't need to be implemented.
to implement a dynamic library do NOT use this class. Refer to etiss/helper/CPUArchLibrary.h , etiss/helper/JITLibrary.h , etiss/helper/PluginLibrary.h for library functions to implement and use etiss::LibraryInterface::openSharedLibrary to load the dynamic library
Definition at line 91 of file LibraryInterface.h.
LibraryInterface::LibraryInterface | ( | std::string | name | ) |
name | name of the library |
path | location of the library and its files |
Definition at line 66 of file LibraryInterface.cpp.
|
virtual |
Definition at line 67 of file LibraryInterface.cpp.
|
static |
Definition at line 606 of file LibraryInterface.cpp.
References int.
Referenced by TCCJIT::translate().
|
virtual |
Reimplemented in IntegratedLibrary.
Definition at line 78 of file LibraryInterface.cpp.
Referenced by isEmpty().
|
virtual |
Reimplemented in IntegratedLibrary.
Definition at line 82 of file LibraryInterface.cpp.
Referenced by isEmpty().
|
virtual |
Reimplemented in IntegratedLibrary.
Definition at line 74 of file LibraryInterface.cpp.
Referenced by isEmpty().
|
virtual |
Reimplemented in IntegratedLibrary.
Definition at line 104 of file LibraryInterface.cpp.
|
virtual |
Reimplemented in IntegratedLibrary.
Definition at line 100 of file LibraryInterface.cpp.
|
virtual |
Reimplemented in IntegratedLibrary.
Definition at line 108 of file LibraryInterface.cpp.
|
virtual |
Reimplemented in IntegratedLibrary.
Definition at line 114 of file LibraryInterface.cpp.
|
virtual |
Reimplemented in IntegratedLibrary.
Definition at line 113 of file LibraryInterface.cpp.
|
virtual |
Reimplemented in IntegratedLibrary.
Definition at line 115 of file LibraryInterface.cpp.
|
static |
Definition at line 152 of file IntegratedLibrary.cpp.
|
virtual |
|
virtual |
returns true if this library provides nothing
Definition at line 117 of file LibraryInterface.cpp.
References countCPUArchs(), countJITs(), and countPlugins().
|
virtual |
Reimplemented in IntegratedLibrary.
Definition at line 95 of file LibraryInterface.cpp.
|
virtual |
Reimplemented in IntegratedLibrary.
Definition at line 87 of file LibraryInterface.cpp.
|
virtual |
Reimplemented in IntegratedLibrary.
Definition at line 91 of file LibraryInterface.cpp.
|
static |
Definition at line 122 of file IntegratedLibraryHelper.cpp.
Referenced by etiss_initialize().
|
static |
Definition at line 527 of file LibraryInterface.cpp.
References etiss::ERROR, ETISS_SRCLOC, ETISS_VARVAL, etiss::INFO, etiss::log(), etiss::VERBOSE, and etiss::WARNING.
Referenced by etiss::loadLibrary().
|
virtual |
simple version info string. intended to present information in a human readable way.
Reimplemented in IntegratedLibrary.
Definition at line 69 of file LibraryInterface.cpp.
|
private |
Definition at line 147 of file LibraryInterface.h.
Referenced by getName().