]> git.stg.codes - stg.git/blobdiff - projects/sgconf/common_sg.cpp
[NY] Code deduplication.
[stg.git] / projects / sgconf / common_sg.cpp
index 48eaac35026ecd98bd6ad858a6f07fd484db59fb..1db7c9c472031d7b710cce5db7367aea50433506 100644 (file)
@@ -294,14 +294,7 @@ void ConvertFromKOI8(const std::string & src, std::string * dst)
 ConvertKOI8(src, dst, FROM_KOI8);
 }
 //-----------------------------------------------------------------------------
-void SendMessageCallback(bool result, const std::string & reason, void * d)
-{
-ResultData * data = static_cast<ResultData *>(d);
-data->result = result;
-data->reason = reason;
-}
-//-----------------------------------------------------------------------------
-void RecvSetUserAnswer(bool result, const std::string & reason, void * d)
+void ResultCallback(bool result, const std::string & reason, void * d)
 {
 ResultData * data = static_cast<ResultData *>(d);
 data->result = result;
@@ -447,8 +440,7 @@ bool ProcessSetUser(const std::string & server,
 SERVCONF sc(server, port, login, password);
 
 ResultData data;
-sc.SetChgUserCallback(RecvSetUserAnswer, &data);
-int res = sc.ChgUser(str.c_str());
+int res = sc.ChgUser(str.c_str(), ResultCallback, &data);
 
 if (res == st_ok && data.result)
     {
@@ -471,8 +463,7 @@ bool ProcessSendMessage(const std::string & server, uint16_t port,
 SERVCONF sc(server, port, login, password);
 
 ResultData data;
-sc.SetSendMessageCallback(SendMessageCallback, &data);
-int res = sc.SendMessage(requestString.c_str());
+int res = sc.SendMessage(requestString.c_str(), ResultCallback, &data);
 
 if (res == st_ok && data.result)
     {
@@ -498,9 +489,7 @@ bool ProcessGetUser(const std::string &server,
 SERVCONF sc(server, port, admLogin, admPasswd);
 
 GetUserData data(request, false);
-
-sc.SetGetUserCallback(GetUserCallback, &data);
-bool res = (sc.GetUser(login.c_str()) == st_ok);
+bool res = (sc.GetUser(login.c_str(), GetUserCallback, &data) == st_ok);
 
 if (res && data.result)
     {
@@ -525,8 +514,7 @@ bool ProcessAuthBy(const std::string &server,
 SERVCONF sc(server, port, admLogin, admPasswd);
 
 ResultData data;
-sc.SetAuthByCallback(RecvAuthByData, &data);
-bool res = (sc.AuthBy(login.c_str()) == st_ok);
+bool res = (sc.AuthBy(login.c_str(), RecvAuthByData, &data) == st_ok);
 
 if (res && data.result)
     {