2016-01-12 03:41:44 +00:00
|
|
|
#ifndef PLUGINSYSTEM3_LANGUAGE_HPP
|
|
|
|
#define PLUGINSYSTEM3_LANGUAGE_HPP
|
|
|
|
|
|
|
|
#include "Types.hpp"
|
|
|
|
|
|
|
|
#include <boost/any.hpp>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
class Language
|
|
|
|
{
|
|
|
|
public:
|
2016-07-27 02:09:56 +00:00
|
|
|
virtual ~Language(){}
|
2016-01-12 03:41:44 +00:00
|
|
|
virtual void LoadProgram(const char* filename) = 0;
|
|
|
|
virtual int FreeProgram() = 0;
|
|
|
|
virtual bool IsCallbackPresent(const char* name) = 0;
|
|
|
|
virtual boost::any Call(const char* name, const char* argl, int buf, ...) = 0;
|
|
|
|
virtual boost::any Call(const char* name, const char* argl, const std::vector<boost::any>& args) = 0;
|
|
|
|
|
2016-08-02 10:10:06 +00:00
|
|
|
virtual lib_t GetInterface() = 0;
|
2016-01-12 03:41:44 +00:00
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif //PLUGINSYSTEM3_LANGUAGE_HPP
|