ReXGlue SDK
Loading...
Searching...
No Matches
init.h
Go to the documentation of this file.
1
10
11#pragma once
12
13#include <functional>
14#include <string>
15#include <vector>
16
17#include <rex/module.h>
18#include <rex/platform.h>
19#include <rex/result.h>
20
21namespace rex {
22
23struct Config {
25 std::vector<std::string> modules;
27 std::vector<IModule*> code_modules;
36 std::function<Result<std::vector<std::string>>(IInterfaceFactory& factory,
37 IInterfaceFactory& private_factory)>
39};
40
48[[nodiscard]] REX_API Result<void> Init(const Config& config);
49
56
59
60} // namespace rex
Definition module.h:131
Interfaces, factory and module declaration.
Definition app.h:36
void Shutdown()
std::expected< T, Error > Result
Definition result.h:98
void Stop()
Result< void > Init(const Config &config)
Platform flags, packing macros and export markers.
#define REX_API
Definition platform.h:177
Definition init.h:23
std::function< Result< std::vector< std::string > >(IInterfaceFactory &factory, IInterfaceFactory &private_factory)> select_plugins
Definition init.h:38
std::vector< IModule * > code_modules
Definition init.h:27
std::vector< std::string > modules
Definition init.h:25