File runtime.hpp
File List > illixr > runtime.hpp
Go to the documentation of this file
#pragma once
#include "illixr/export.hpp"
#include "illixr/phonebook.hpp"
#include "illixr/switchboard.hpp"
#include
#include
#ifdef __ANDROID__
# include
#endif
namespace ILLIXR {
class plugin;
typedef plugin* (*plugin_factory)(phonebook*);
class runtime {
public:
virtual void load_so(const std::vector<std::string>& so) = 0;
[[maybe_unused]] virtual void load_so(const std::string_view& so) = 0;
virtual void load_plugin_factory(plugin_factory plugin) = 0;
virtual void wait() = 0;
virtual void _stop() = 0;
void stop() {
_stop();
}
std::shared_ptr<switchboard> get_switchboard() {
return switchboard_;
}
virtual ~runtime() = default;
protected:
bool enable_monado_ = false;
std::shared_ptr<switchboard> switchboard_;
};
extern "C" MY_EXPORT_API runtime* runtime_factory();
} // namespace ILLIXR