|
ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
|
XML节点配置管理类。 More...
#include <xml.h>
Public Member Functions | |
| void | init () |
| XML序列化宏,定义XML读写方法 | |
| bool | set_server (const char *aservertypename) |
| 设置服务器类型。 | |
| void | set_nodeid (int16_t atid, int16_t atcount) |
| 设置节点ID。 | |
| void | set_area (int16_t aarea) |
| 设置区域。 | |
| void | set_servername (const std::string &asername) |
| 设置服务器名称。 | |
| std::string & | servername () |
| 获取服务器名称。 | |
| bool | load (const std::string &axmlpath, const std::string &aname) |
| 加载XML配置文件。 | |
| const std::string & | nodename () const |
| 获取节点名称。 | |
| const std::string & | config_file () const |
| 获取配置文件路径。 | |
| const std::string & | config_name () const |
| 获取配置名称。 | |
| xarg_info * | info () |
| 获取公共信息配置。 | |
| int16_t | tcount () |
| 获取线程总数。 | |
| int16_t | tid () |
| 获取线程ID。 | |
| i32_serverid | nodeid () |
| 获取节点ID。 | |
| NODE_TYPE | nodetype () |
| 获取节点类型。 | |
| int16_t | area () |
| 获取区域。 | |
| int16_t | merge_area () |
| 获取合并区域。 | |
| int16_t | merge_corss_area () |
| 获取合并跨服区域。 | |
| xarg_db & | db () |
| 获取数据库配置。 | |
| xarg_db & | crossdb () |
| 获取跨服数据库配置。 | |
| xarg_db::edb | dbedb () |
| 获取数据库类型。 | |
| xarg_mail & | mail () |
| 获取邮件配置。 | |
| xarg_telnet & | telnet () |
| 获取Telnet配置。 | |
| xarg_wss & | wss () |
| 获取WebSocket配置。 | |
| xarg_redis & | redis () |
| 获取Redis配置。 | |
Static Public Member Functions | |
| static xmlnode & | instance () |
| 获取单例实例。 | |
XML节点配置管理类。
管理服务器的运行时配置,从XML文件加载一次后通过nconfig宏作为进程级单例对外暴露。 包含数据库、邮件、Telnet、WebSocket、Redis等各个子系统的配置。
| int16_t ngl::xmlnode::area | ( | ) |
获取区域。
| const std::string & ngl::xmlnode::config_file | ( | ) | const |
获取配置文件路径。
| const std::string & ngl::xmlnode::config_name | ( | ) | const |
获取配置名称。
| xarg_db & ngl::xmlnode::crossdb | ( | ) |
获取跨服数据库配置。
| xarg_db & ngl::xmlnode::db | ( | ) |
获取数据库配置。
| xarg_db::edb ngl::xmlnode::dbedb | ( | ) |
获取数据库类型。
| xarg_info * ngl::xmlnode::info | ( | ) |
获取公共信息配置。
| void ngl::xmlnode::init | ( | ) |
XML序列化宏,定义XML读写方法
初始化节点类型枚举映射
初始化配置。
加载并初始化所有配置参数。
将NODE_TYPE枚举值与字符串名称一一注册到工具库中。
|
inlinestatic |
获取单例实例。
| bool ngl::xmlnode::load | ( | const std::string & | axmlpath, |
| const std::string & | aname ) |
加载XML配置文件。
加载指定名称的XML配置文件
| axmlpath | XML文件路径 |
| aname | 配置名称 |
| axmlpath | 配置文件根目录路径 |
| aname | 配置文件名(不含.xml后缀) |
| true | 加载成功 |
| false | 加载失败 |
| xarg_mail & ngl::xmlnode::mail | ( | ) |
获取邮件配置。
| int16_t ngl::xmlnode::merge_area | ( | ) |
获取合并区域。
| int16_t ngl::xmlnode::merge_corss_area | ( | ) |
获取合并跨服区域。
| i32_serverid ngl::xmlnode::nodeid | ( | ) |
获取节点ID。
| const std::string & ngl::xmlnode::nodename | ( | ) | const |
获取节点名称。
| NODE_TYPE ngl::xmlnode::nodetype | ( | ) |
获取节点类型。
| xarg_redis & ngl::xmlnode::redis | ( | ) |
获取Redis配置。
| std::string & ngl::xmlnode::servername | ( | ) |
获取服务器名称。
| void ngl::xmlnode::set_area | ( | int16_t | aarea | ) |
设置区域。
设置服务器区域ID
| aarea | 区域ID |
| aarea | 区域标识 |
| void ngl::xmlnode::set_nodeid | ( | int16_t | atid, |
| int16_t | atcount ) |
设置节点ID。
设置节点ID和实例计数
| atid | 线程ID |
| atcount | 线程总数 |
| atid | 服务器表ID |
| atcount | 实例序号 |
| bool ngl::xmlnode::set_server | ( | const char * | aservertypename | ) |
设置服务器类型。
设置服务器节点类型
| aservertypename | 服务器类型名称 |
| aservertypename | 服务器类型名称字符串(如"db"、"gateway"等) |
| true | 设置成功 |
| false | 名称为nullptr或无法识别的类型 |
| void ngl::xmlnode::set_servername | ( | const std::string & | asername | ) |
设置服务器名称。
设置服务器显示名称
| asername | 服务器名称 |
| asername | 服务器名称字符串 |
| int16_t ngl::xmlnode::tcount | ( | ) |
获取线程总数。
| xarg_telnet & ngl::xmlnode::telnet | ( | ) |
获取Telnet配置。
| int16_t ngl::xmlnode::tid | ( | ) |
获取线程ID。
| xarg_wss & ngl::xmlnode::wss | ( | ) |
获取WebSocket配置。