payserver/server/payserver/jsondatamgr.cc
2019-03-29 14:51:45 +08:00

60 lines
2.3 KiB
C++

#include "precompile.h"
#include "jsondatamgr.h"
#include "app.h"
void JsonDataMgr::Init()
{
std::string payserverserver_cluster_json_file;
std::string targetserver_cluster_json_file;
std::string mysql_cluster_json_file;
if (f8::IsOnlineEnv()) {
payserverserver_cluster_json_file = a8::Format("../config/game%d.payserver.cluster.json", {GAME_ID});
targetserver_cluster_json_file = a8::Format("../config/game%d.gameserver.cluster.json", {GAME_ID});
mysql_cluster_json_file = a8::Format("../config/game%d.payserver.mysql.cluster.json", {GAME_ID});
} else {
payserverserver_cluster_json_file = a8::Format("/var/data/conf_test/game%d/payserver/game%d.payserver.cluster.json",
{GAME_ID, GAME_ID});
targetserver_cluster_json_file = a8::Format("/var/data/conf_test/game%d/payserver/game%d.gameserver.cluster.json",
{GAME_ID, GAME_ID});
mysql_cluster_json_file = a8::Format("/var/data/conf_test/game%d/payserver/game%d.payserver.mysql.cluster.json",
{GAME_ID, GAME_ID});
}
payserverserver_cluster_json_.ReadFromFile(payserverserver_cluster_json_file);
targetserver_cluster_json_.ReadFromFile(targetserver_cluster_json_file);
mysql_cluster_json_.ReadFromFile(mysql_cluster_json_file);
}
void JsonDataMgr::UnInit()
{
}
std::shared_ptr<a8::XObject> JsonDataMgr::GetConf()
{
if (App::Instance()->instance_id < 1 || App::Instance()->instance_id > payserverserver_cluster_json_.Size()) {
abort();
}
return payserverserver_cluster_json_[App::Instance()->instance_id - 1];
}
std::shared_ptr<a8::XObject> JsonDataMgr::GetTargetServerClusterConf()
{
return std::make_shared<a8::XObject>(targetserver_cluster_json_);
}
std::shared_ptr<a8::XObject> JsonDataMgr::GetTargetServerClusterConf(int serverid)
{
if (serverid < 1 || serverid > targetserver_cluster_json_.Size()) {
abort();
}
return targetserver_cluster_json_[serverid - 1];
}
std::shared_ptr<a8::XObject> JsonDataMgr::GetMysqlConf()
{
if (App::Instance()->instance_id < 1 || App::Instance()->instance_id > mysql_cluster_json_.Size()) {
abort();
}
return mysql_cluster_json_[App::Instance()->instance_id - 1];
}