From: Maxim Mamontov <faust.madf@gmail.com>
Date: Fri, 6 Sep 2013 16:31:52 +0000 (+0300)
Subject: [NY Flight] One time protocol initialization.
X-Git-Url: https://git.stg.codes/stg.git/commitdiff_plain/6bd4918f85f22955197b200d79972d22159e89d8

[NY Flight] One time protocol initialization.
---

diff --git a/projects/sgconf/common_sg.cpp b/projects/sgconf/common_sg.cpp
index a54826df..48eaac35 100644
--- a/projects/sgconf/common_sg.cpp
+++ b/projects/sgconf/common_sg.cpp
@@ -440,16 +440,11 @@ data->result = true;
 //-----------------------------------------------------------------------------
 bool ProcessSetUser(const std::string & server,
                     int port,
-                    const std::string & admLogin,
-                    const std::string & admPasswd,
+                    const std::string & login,
+                    const std::string & password,
                     const std::string & str)
 {
-SERVCONF sc;
-
-sc.SetServer(server.c_str());
-sc.SetPort(port);
-sc.SetAdmLogin(admLogin.c_str());
-sc.SetAdmPassword(admPasswd.c_str());
+SERVCONF sc(server, port, login, password);
 
 ResultData data;
 sc.SetChgUserCallback(RecvSetUserAnswer, &data);
@@ -473,12 +468,7 @@ bool ProcessSendMessage(const std::string & server, uint16_t port,
                         const std::string & login, const std::string & password,
                         const std::string & requestString)
 {
-SERVCONF sc;
-
-sc.SetServer(server.c_str());
-sc.SetPort(port);
-sc.SetAdmLogin(login.c_str());
-sc.SetAdmPassword(password.c_str());
+SERVCONF sc(server, port, login, password);
 
 ResultData data;
 sc.SetSendMessageCallback(SendMessageCallback, &data);
@@ -505,12 +495,7 @@ bool ProcessGetUser(const std::string &server,
                     const std::string &login,
                     REQUEST & request)
 {
-SERVCONF sc;
-
-sc.SetServer(server.c_str());
-sc.SetPort(port);
-sc.SetAdmLogin(admLogin.c_str());
-sc.SetAdmPassword(admPasswd.c_str());
+SERVCONF sc(server, port, admLogin, admPasswd);
 
 GetUserData data(request, false);
 
@@ -537,12 +522,7 @@ bool ProcessAuthBy(const std::string &server,
                    const std::string &admPasswd,
                    const std::string &login)
 {
-SERVCONF sc;
-
-sc.SetServer(server.c_str());
-sc.SetPort(port);
-sc.SetAdmLogin(admLogin.c_str());
-sc.SetAdmPassword(admPasswd.c_str());
+SERVCONF sc(server, port, admLogin, admPasswd);
 
 ResultData data;
 sc.SetAuthByCallback(RecvAuthByData, &data);
diff --git a/stglibs/srvconf.lib/include/stg/netunit.h b/stglibs/srvconf.lib/include/stg/netunit.h
index d40b4c6a..332670d6 100644
--- a/stglibs/srvconf.lib/include/stg/netunit.h
+++ b/stglibs/srvconf.lib/include/stg/netunit.h
@@ -78,18 +78,13 @@ confData
 class NETTRANSACT
 {
 public:
-    NETTRANSACT();
+    NETTRANSACT(const std::string & server, uint16_t port,
+                const std::string & login, const std::string & password);
     int     Transact(const char * data);
     const std::string & GetError() const;
 
     void    SetRxCallback(void * data, RxCallback_t);
 
-    void    SetServer(const char * serverName);
-    void    SetServerPort(short unsigned p);
-
-    void    SetLogin(const char * l);
-    void    SetPassword(const char * p);
-    ////////////////////////////////////////////
     int     Connect();
     int     Disconnect();
     void    Reset();
@@ -112,7 +107,7 @@ private:
     void Decrypt(char * d, const char * s, BLOWFISH_CTX *ctx);
 
     std::string server;
-    short unsigned  port;
+    uint16_t  port;
     std::string login;
     std::string password;
     int     outerSocket;
diff --git a/stglibs/srvconf.lib/include/stg/servconf.h b/stglibs/srvconf.lib/include/stg/servconf.h
index b422f708..87a93f89 100644
--- a/stglibs/srvconf.lib/include/stg/servconf.h
+++ b/stglibs/srvconf.lib/include/stg/servconf.h
@@ -46,9 +46,6 @@
 
 #include <expat.h>
 
-void Start(void * data, const char * el, const char ** attr);
-void End(void * data, const char * el);
-
 #define MAX_ERR_STR_LEN (64)
 #define IP_STRING_LEN   (255)
 
@@ -60,12 +57,8 @@ struct ADMINDATA
 class SERVCONF
 {
 public:
-    SERVCONF();
-    void SetServer(const char * server);
-    void SetPort(uint16_t port);
-
-    void SetAdmLogin(const char * login);
-    void SetAdmPassword(const char * password);
+    SERVCONF(const std::string & server, uint16_t port,
+             const std::string & login, const std::string & password);
 
     void SetGetUsersCallback(PARSER_GET_USERS::CALLBACK f, void * data);
     void SetAuthByCallback(PARSER_AUTH_BY::CALLBACK f, void * data);
diff --git a/stglibs/srvconf.lib/netunit.cpp b/stglibs/srvconf.lib/netunit.cpp
index aaba3df6..db22a3a0 100644
--- a/stglibs/srvconf.lib/netunit.cpp
+++ b/stglibs/srvconf.lib/netunit.cpp
@@ -53,8 +53,12 @@
 #define RECV_HEADER_ANSWER_ERROR    "Recv header answer error!"
 
 //---------------------------------------------------------------------------
-NETTRANSACT::NETTRANSACT()
-    : port(0),
+NETTRANSACT::NETTRANSACT(const std::string & s, uint16_t p,
+                         const std::string & l, const std::string & pwd)
+    : server(s),
+      port(p),
+      login(l),
+      password(pwd),
       outerSocket(-1),
       RxCallBack(NULL),
       dataRxCallBack(NULL)
@@ -461,26 +465,6 @@ while (1)
     }
 }
 //---------------------------------------------------------------------------
-void NETTRANSACT::SetLogin(const char * l)
-{
-login = l;
-}
-//---------------------------------------------------------------------------
-void NETTRANSACT::SetPassword(const char * p)
-{
-password = p;
-}
-//---------------------------------------------------------------------------
-void NETTRANSACT::SetServer(const char * serverName)
-{
-server = serverName;
-}
-//---------------------------------------------------------------------------
-void NETTRANSACT::SetServerPort(short unsigned p)
-{
-port = p;
-}
-//---------------------------------------------------------------------------
 void NETTRANSACT::SetRxCallback(void * data, RxCallback_t cb)
 {
 RxCallBack = cb;
diff --git a/stglibs/srvconf.lib/servconf.cpp b/stglibs/srvconf.lib/servconf.cpp
index f2498ef5..906277c3 100644
--- a/stglibs/srvconf.lib/servconf.cpp
+++ b/stglibs/srvconf.lib/servconf.cpp
@@ -25,7 +25,24 @@
 #include <cstdio>
 #include <cstring>
 
+namespace
+{
+
+//-----------------------------------------------------------------------------
+void Start(void *data, const char *el, const char **attr)
+{
+SERVCONF * sc = static_cast<SERVCONF *>(data);
+sc->Start(el, attr);
+}
 //-----------------------------------------------------------------------------
+void End(void * data, const char * el)
+{
+SERVCONF * sc = static_cast<SERVCONF *>(data);
+sc->End(el);
+}
+
+} // namespace anonymous
+
 int AnsRecv(void * data, std::list<std::string> * list1)
 {
 SERVCONF * sc = static_cast<SERVCONF *>(data);
@@ -60,46 +77,17 @@ while (node != list1->end())
 
 return st_ok;
 }
+
 //-----------------------------------------------------------------------------
-void Start(void *data, const char *el, const char **attr)
-{
-SERVCONF * sc = static_cast<SERVCONF *>(data);
-sc->Start(el, attr);
-}
-//-----------------------------------------------------------------------------
-void End(void * data, const char * el)
-{
-SERVCONF * sc = static_cast<SERVCONF *>(data);
-sc->End(el);
-}
-//-----------------------------------------------------------------------------
-SERVCONF::SERVCONF()
-    : currParser(NULL)
+SERVCONF::SERVCONF(const std::string & server, uint16_t port,
+                   const std::string & login, const std::string & password)
+    : currParser(NULL),
+      nt( server, port, login, password )
 {
 parser = XML_ParserCreate(NULL);
 nt.SetRxCallback(this, AnsRecv);
 }
 //-----------------------------------------------------------------------------
-void SERVCONF::SetServer(const char * server)
-{
-nt.SetServer(server);
-}
-//-----------------------------------------------------------------------------
-void SERVCONF::SetPort(uint16_t port)
-{
-nt.SetServerPort(port);
-}
-//-----------------------------------------------------------------------------
-void SERVCONF::SetAdmLogin(const char * login)
-{
-nt.SetLogin(login);
-}
-//-----------------------------------------------------------------------------
-void SERVCONF::SetAdmPassword(const char * password)
-{
-nt.SetPassword(password);
-}
-//-----------------------------------------------------------------------------
 int SERVCONF::GetUser(const char * l)
 {
 char request[255];