From: Maxim Mamontov Date: Thu, 29 May 2014 20:29:55 +0000 (+0300) Subject: Implemented add-service, chg-service, add-corp and chg-corp. X-Git-Url: https://git.stg.codes/stg.git/commitdiff_plain/feed7e6b905650306ae3166ecf91c144ecffa6e7?ds=inline;hp=e8755e448558202feb64092ef8b1d91569ecc7db Implemented add-service, chg-service, add-corp and chg-corp. --- diff --git a/projects/sgconf/corps.cpp b/projects/sgconf/corps.cpp index 82673377..18217705 100644 --- a/projects/sgconf/corps.cpp +++ b/projects/sgconf/corps.cpp @@ -3,6 +3,7 @@ #include "api_action.h" #include "options.h" #include "config.h" +#include "utils.h" #include "stg/servconf.h" #include "stg/servconf_types.h" @@ -111,20 +112,30 @@ return proto.DelCorp(arg, SimpleCallback, NULL) == STG::st_ok; bool AddCorpFunction(const SGCONF::CONFIG & config, const std::string & arg, - const std::map & /*options*/) + const std::map & options) { -// TODO -std::cerr << "Unimplemented.\n"; -return false; +CORP_CONF_RES conf; +conf.name = arg; +SGCONF::MaybeSet(options, "cash", conf.cash); +STG::SERVCONF proto(config.server.data(), + config.port.data(), + config.userName.data(), + config.userPass.data()); +return proto.AddCorp(arg, conf, SimpleCallback, NULL) == STG::st_ok; } bool ChgCorpFunction(const SGCONF::CONFIG & config, const std::string & arg, const std::map & options) { -// TODO -std::cerr << "Unimplemented.\n"; -return false; +CORP_CONF_RES conf; +conf.name = arg; +SGCONF::MaybeSet(options, "cash", conf.cash); +STG::SERVCONF proto(config.server.data(), + config.port.data(), + config.userName.data(), + config.userPass.data()); +return proto.ChgCorp(conf, SimpleCallback, NULL) == STG::st_ok; } } // namespace anonymous diff --git a/projects/sgconf/services.cpp b/projects/sgconf/services.cpp index f5d73742..b6ce1a33 100644 --- a/projects/sgconf/services.cpp +++ b/projects/sgconf/services.cpp @@ -3,6 +3,7 @@ #include "api_action.h" #include "options.h" #include "config.h" +#include "utils.h" #include "stg/servconf.h" #include "stg/servconf_types.h" @@ -115,20 +116,34 @@ return proto.DelService(arg, SimpleCallback, NULL) == STG::st_ok; bool AddServiceFunction(const SGCONF::CONFIG & config, const std::string & arg, - const std::map & /*options*/) + const std::map & options) { -// TODO -std::cerr << "Unimplemented.\n"; -return false; +SERVICE_CONF_RES conf; +conf.name = arg; +SGCONF::MaybeSet(options, "cost", conf.cost); +SGCONF::MaybeSet(options, "pay-day", conf.payDay); +SGCONF::MaybeSet(options, "comment", conf.comment); +STG::SERVCONF proto(config.server.data(), + config.port.data(), + config.userName.data(), + config.userPass.data()); +return proto.AddService(arg, conf, SimpleCallback, NULL) == STG::st_ok; } bool ChgServiceFunction(const SGCONF::CONFIG & config, const std::string & arg, const std::map & options) { -// TODO -std::cerr << "Unimplemented.\n"; -return false; +SERVICE_CONF_RES conf; +conf.name = arg; +SGCONF::MaybeSet(options, "cost", conf.cost); +SGCONF::MaybeSet(options, "pay-day", conf.payDay); +SGCONF::MaybeSet(options, "comment", conf.comment); +STG::SERVCONF proto(config.server.data(), + config.port.data(), + config.userName.data(), + config.userPass.data()); +return proto.ChgService(conf, SimpleCallback, NULL) == STG::st_ok; } } // namespace anonymous