插件开发技术说明(14)---服务配置访问

来源:互联网 发布:萌鸽文化 淘宝 编辑:程序博客网 时间:2024/04/27 21:44
服务端系统参数配置有2种:
.集中配置在数据库(t_sys_cfg)
.插件配置文件:仅影响当前进程


配置项作为资源需要统一定义.

服务配置项ID定义在common\svc_para.h文件中.

目前定义如下: (新增的配置项加入到此文件中)

#define CATEGORY_PIC_FILE_PATH101///< 类别图片目录#define MYGOODS_PIC_FILE_PATH102 ///< 企业商品图片主目录#define GOODS_PIC_FILE_PATH103///< 平台商品图片主目录#define BRAND_PIC_FILE_PATH104///< 品牌图片主目录#define ORG_PIC_FILE_PATH105///< 企业Logo图片主目录


访问接口:
通过框架提供的IServiceParaMgr访问.
插件函数可直接通过svc_para_mgr_变量访问,非插件函数间接使用该变量.如通过CDataEnv::env_->svc_para_mgr_访问.


目前仅支持整数和字符串类型的配置.实际上,不考虑其它因素(如性能和语义),都可以通过字符串来实现.
class IServiceParaMgr {public:virtual int Add(unsigned int id,int val) = 0; ///< 增加一个配置项virtual int Add(unsigned int id,string &val) = 0; virtual int GetPara(unsigned int id,int &val) = 0; ///< 获取一个配置项virtual int GetPara(unsigned int id,string &val) = 0;virtual string GetParaAsString(unsigned int id) = 0; ///< 代码简洁的配置项获取方式,用于配置项一定有效的情况.virtual int GetParaAsInt(unsigned int id) = 0;};


设置示例:
primary_data_update插件中.
svc_para_mgr_->Add(MYGOODS_PIC_FILE_PATH,strPathMyGoods_);

访问示例:
string pic_file_path = CDataEnv::env_->svc_para_mgr_->GetParaAsString(MYGOODS_PIC_FILE_PATH);



0 0