From c1b9be104712ea200385bd4f7d76f185a2d76eb7 Mon Sep 17 00:00:00 2001
From: Maxim Mamontov <faust.madf@gmail.com>
Date: Wed, 28 May 2014 18:47:33 +0300
Subject: [PATCH] Added service and corporation params.

---
 projects/sgconf/corps.cpp    | 12 ++++++++++--
 projects/sgconf/services.cpp | 14 ++++++++++++--
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/projects/sgconf/corps.cpp b/projects/sgconf/corps.cpp
index aee446b2..97c3add0 100644
--- a/projects/sgconf/corps.cpp
+++ b/projects/sgconf/corps.cpp
@@ -29,6 +29,13 @@ std::cout << Indent(level, true) << "name: " << info.name << "\n"
           << Indent(level)       << "cash: " << info.cash << "\n";
 }
 
+std::vector<SGCONF::API_ACTION::PARAM> GetCorpParams()
+{
+std::vector<SGCONF::API_ACTION::PARAM> params;
+params.push_back({"cash", "<cash>", "\tcorporation's cash"});
+return params;
+}
+
 void SimpleCallback(bool result,
                     const std::string & reason,
                     void * /*data*/)
@@ -124,10 +131,11 @@ return false;
 
 void SGCONF::AppendCorpsOptionBlock(COMMANDS & commands, OPTION_BLOCKS & blocks)
 {
+std::vector<API_ACTION::PARAM> params(GetCorpParams());
 blocks.Add("Corporation management options")
       .Add("get-corps", SGCONF::MakeAPIAction(commands, GetCorpsFunction), "\tget corporation list")
       .Add("get-corp", SGCONF::MakeAPIAction(commands, "<name>", GetCorpFunction), "get corporation")
-      .Add("add-corp", SGCONF::MakeAPIAction(commands, "<name>", AddCorpFunction), "add corporation")
+      .Add("add-corp", SGCONF::MakeAPIAction(commands, "<name>", params, AddCorpFunction), "add corporation")
       .Add("del-corp", SGCONF::MakeAPIAction(commands, "<name>", DelCorpFunction), "del corporation")
-      .Add("chg-corp", SGCONF::MakeAPIAction(commands, "<name>", ChgCorpFunction), "change corporation");
+      .Add("chg-corp", SGCONF::MakeAPIAction(commands, "<name>", params, ChgCorpFunction), "change corporation");
 }
diff --git a/projects/sgconf/services.cpp b/projects/sgconf/services.cpp
index 719435c7..7989de20 100644
--- a/projects/sgconf/services.cpp
+++ b/projects/sgconf/services.cpp
@@ -31,6 +31,15 @@ std::cout << Indent(level, true) << "name: " << info.name << "\n"
           << Indent(level)       << "comment: " << info.comment << "\n";
 }
 
+std::vector<SGCONF::API_ACTION::PARAM> GetServiceParams()
+{
+std::vector<SGCONF::API_ACTION::PARAM> params;
+params.push_back({"cost", "<cost>", "\tcost of the service"});
+params.push_back({"pay-day", "<month day>", "payment day"});
+params.push_back({"comment", "<text>", "comment"});
+return params;
+}
+
 void SimpleCallback(bool result,
                     const std::string & reason,
                     void * /*data*/)
@@ -126,10 +135,11 @@ return false;
 
 void SGCONF::AppendServicesOptionBlock(COMMANDS & commands, OPTION_BLOCKS & blocks)
 {
+std::vector<API_ACTION::PARAM> params(GetServiceParams());
 blocks.Add("Service management options")
       .Add("get-services", SGCONF::MakeAPIAction(commands, GetServicesFunction), "\tget service list")
       .Add("get-service", SGCONF::MakeAPIAction(commands, "<name>", GetServiceFunction), "get service")
-      .Add("add-service", SGCONF::MakeAPIAction(commands, "<name>", AddServiceFunction), "add service")
+      .Add("add-service", SGCONF::MakeAPIAction(commands, "<name>", params, AddServiceFunction), "add service")
       .Add("del-service", SGCONF::MakeAPIAction(commands, "<name>", DelServiceFunction), "del service")
-      .Add("chg-service", SGCONF::MakeAPIAction(commands, "<name>", ChgServiceFunction), "change service");
+      .Add("chg-service", SGCONF::MakeAPIAction(commands, "<name>", params, ChgServiceFunction), "change service");
 }
-- 
2.44.2