This commit is contained in:
aozhiwei 2020-10-09 14:04:17 +08:00
parent d5e0c114d4
commit 413c95c5ac
4 changed files with 104 additions and 0 deletions

View File

View File

View File

@ -0,0 +1,81 @@
#include "precompile.h"
#include <a8/stringlist.h>
#include <a8/csvreader.h>
#include "framework/cpp/utils.h"
#include "metamgr.h"
#include "app.h"
#include "jsondatamgr.h"
#define METAMGR_READ(field_name, def_val) MetaMgr::Instance()->field_name = \
a8::XValue(MetaMgr::Instance()->GetSysParamAsString(#field_name, #def_val));
#define METAMGR_READ_STR(field_name, def_val) MetaMgr::Instance()->field_name = \
a8::XValue(MetaMgr::Instance()->GetSysParamAsString(#field_name, def_val)).GetString();
class MetaDataLoader
{
public:
void Load()
{
if (!f8::IsOnlineEnv()) {
if (f8::IsTestEnv()) {
res_path = a8::Format("/root/pub/%d/%d/conf_test/game%d/gameserver.test/res%d/",
{
GAME_ID,
App::Instance()->instance_id,
GAME_ID,
App::Instance()->instance_id
});
} else {
res_path = a8::Format("/root/pub/%d/%d/conf_test/game%d/gameserver.dev/res%d/",
{
GAME_ID,
App::Instance()->instance_id,
GAME_ID,
App::Instance()->instance_id
});
}
} else {
res_path = "../res/";
}
Check();
}
private:
void Check()
{
}
void BindToMetaData()
{
}
private:
std::string res_path;
};
void MetaMgr::Init()
{
loader_ = new MetaDataLoader();
loader_->Load();
}
void MetaMgr::UnInit()
{
delete loader_;
loader_ = nullptr;
}
void MetaMgr::Reload()
{
delete loader_;
loader_ = nullptr;
loader_ = new MetaDataLoader();
loader_->Load();
}

View File

@ -0,0 +1,23 @@
#pragma once
#include "metadata.h"
class MetaDataLoader;
class MetaMgr : public a8::Singleton<MetaMgr>
{
private:
MetaMgr() {};
friend class a8::Singleton<MetaMgr>;
public:
void Init();
void UnInit();
void Reload();
private:
MetaDataLoader* loader_ = nullptr;
friend class MetaDataLoader;
};