7 # include <ozulis/parser.hh>
9 # define EXPORT_PLUGIN(Class) \
22 /** @brief this function is called when the plugin is loaded */
23 virtual void loaded() const {}
24 virtual PluginType
type() const { return Abstract
; }
25 virtual const std::string
& name() const = 0;
26 virtual const std::string
& version() const = 0;
31 class LanguagePlugin
: public Plugin
34 virtual PluginType
type() const { return Language
; }
35 virtual const std::string
& languageName() const = 0;
36 virtual const std::vector
<std::string
> & extensions() const = 0;
37 virtual Parser
* createParser() = 0;
41 #endif /* !PLUGIN_HH */