Unravel Engine C++ Reference
Loading...
Searching...
No Matches
service.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
cmd_line/parser.h
>
4
#include <
context/context.hpp
>
5
#include <entt/meta/meta.hpp>
6
7
struct
module_desc
8
{
9
std::string
lib_name
;
10
std::string
type_name
;
11
};
12
13
struct
module_data
14
{
15
module_desc
desc
;
16
};
17
18
#define SERVICE_RESULT_EXIT 0
19
#define SERVICE_RESULT_RUN 1
20
#define SERVICE_RESULT_RELOAD 2
21
22
struct
service
23
{
24
service
(
int
argc,
char
* argv[]);
25
auto
load
(
const
module_desc
& desc) -> bool;
26
auto
unload
(
const
module_data
& module) -> bool;
27
28
auto
load
(
const
std::vector<module_desc>& descs) -> bool;
29
auto
unload
() -> bool;
30
31
auto
init
() -> bool;
32
auto
process
() -> int;
33
auto
interrupt
() -> bool;
34
35
auto
get_cmd_line_parser
() ->
cmd_line::parser
&;
36
37
private
:
38
rtti::context
ctx_;
39
cmd_line::parser
parser_;
40
std::vector<module_data> modules_;
41
};
42
43
int
service_main
(
const
char
*
name
,
int
argc,
char
* argv[]);
cmd_line::parser
Definition
parser.h:62
context.hpp
name
std::string name
Definition
hub.cpp:27
parser.h
service_main
int service_main(const char *name, int argc, char *argv[])
Definition
service.cpp:166
module_data
Definition
service.h:14
module_data::desc
module_desc desc
Definition
service.h:15
module_desc
Definition
service.h:8
module_desc::type_name
std::string type_name
Definition
service.h:10
module_desc::lib_name
std::string lib_name
Definition
service.h:9
rtti::context
Definition
context.hpp:14
service
Definition
service.h:23
service::interrupt
auto interrupt() -> bool
Definition
service.cpp:117
service::get_cmd_line_parser
auto get_cmd_line_parser() -> cmd_line::parser &
Definition
service.cpp:161
service::service
service(int argc, char *argv[])
Definition
service.cpp:14
service::process
auto process() -> int
Definition
service.cpp:138
service::unload
auto unload() -> bool
Definition
service.cpp:80
service::load
auto load(const module_desc &desc) -> bool
Definition
service.cpp:18
service::init
auto init() -> bool
Definition
service.cpp:93
UnravelEngine
UnravelEngine
engine
core
service
service.h
Generated by
1.12.0