X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/3556f24564ddfe6fee1fb12bc8b976b9b4c0b5df..b2b89723a2427bba8290bd6967a1ab39cbb630be:/projects/stargazer/plugins/configuration/sgconfig/parser_user_info.cpp?ds=sidebyside diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_user_info.cpp b/projects/stargazer/plugins/configuration/sgconfig/parser_user_info.cpp index de28eaba..ccc86d8c 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_user_info.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_user_info.cpp @@ -22,47 +22,41 @@ #include "stg/users.h" #include "stg/user.h" -#include "stg/common.h" #include // strcasecmp -int PARSER_USER_INFO::ParseStart(void * /*data*/, const char *el, const char **attr) -{ -login.clear(); -if (strcasecmp(el, "GetUserInfo") != 0) - return -1; - -if (!attr[0] || !attr[1] || strcasecmp(attr[0], "login") != 0) - return -1; +using STG::PARSER::USER_INFO; -login = attr[1]; -return 0; -} +const char * USER_INFO::tag = "GetUserInfo"; -int PARSER_USER_INFO::ParseEnd(void * /*data*/, const char *el) +int USER_INFO::Start(void * /*data*/, const char *el, const char **attr) { -if (strcasecmp(el, "GetUserInfo") != 0) - return -1; + if (strcasecmp(el, m_tag.c_str()) != 0) + return -1; + + if (!attr[1]) + return -1; -CreateAnswer(); -return 0; + m_login = attr[1]; + return 0; } -void PARSER_USER_INFO::CreateAnswer() +void USER_INFO::CreateAnswer() { -CONST_USER_PTR u; -if (users->FindByName(login, &u)) + using ConstUserPtr = const User*; + ConstUserPtr u; + if (m_users.FindByName(m_login, &u)) { - answer = ""; - return; + m_answer = ""; + return; } -answer = "GetAuthorizedModificationTime()) + "\"" + - " lastDisconnectTime=\"" + x2str(u->GetConnectedModificationTime()) + "\"" + - " connected=\"" + (u->GetConnected() ? "true" : "false") + "\"" + - " lastDisconnectReason=\"" + u->GetLastDisconnectReason() + "\">"; -std::vector list(u->GetAuthorizers()); -for (std::vector::const_iterator it = list.begin(); it != list.end(); ++it) - answer += ""; -answer += ""; + m_answer = "GetAuthorizedModificationTime()) + "\"" + + " lastDisconnectTime=\"" + std::to_string(u->GetConnectedModificationTime()) + "\"" + + " connected=\"" + (u->GetConnected() ? "true" : "false") + "\"" + + " lastDisconnectReason=\"" + u->GetLastDisconnectReason() + "\">"; + std::vector list(u->GetAuthorizers()); + for (std::vector::const_iterator it = list.begin(); it != list.end(); ++it) + m_answer += ""; + m_answer += ""; }