Advertisement
AlexNovoross87

iface

May 31st, 2025
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. ///@brief Сериализатор Unordered_Map
  2. template <typename T1, typename T2>
  3. std::string SerializeUmap(std::unordered_map<T1, T2> object)
  4. {
  5. ..................
  6. }
  7.  
  8. ///@brief Десериализатор Unordered_Map
  9. template <typename T1, typename T2>
  10. std::unordered_map<T1, T2> DeserializeUmap(std::string serialized)
  11. {
  12. ............................
  13. }
  14.  
  15. ///////////////////////////////////////////////////
  16.  
  17. Интерфейс для создания обьектов для посыла на сервер
  18. service.h
  19. namespace ServiceChatroomServer
  20. {
  21. namespace UserInterface
  22. {
  23. ///@brief Сериализованный объект для отключения
  24. std::string US_ChrMakeObjDisconnect(std::string token);
  25. ///@brief Сериализованный объект для послания сообщения
  26. std::string US_ChrMakeSendMessage(std::string token, std::string message);
  27. }
  28. }
  29.  
  30. namespace ServiceChatroomServer
  31. {
  32.  
  33. namespace UserInterface
  34. {
  35. ///@brief Сериализованный объект для подключения
  36. std::string US_SrvMakeObjConnect(std::string name, std::string roomname);
  37. ///@brief Сериализованный объект для получения списка пользователей
  38. std::string US_SrvMakeObjGetUsers(std::string name);
  39. ///@brief Сериализованный объект для логина на сервере
  40. std::string US_SrvMakeObjLogin(std::string name);
  41. ///@brief Сериализованный объект для получения
  42. std::string US_SrvMakeObjCreateUser(std::string name);
  43. ///@brief Сериализованный объект для получения
  44. std::string US_SrvMakeObjCreateRoom(std::string name);
  45. ///@brief Сериализованный объект для получения
  46. std::string US_SrvMakeObjRoomList(std::string name);
  47. }
  48.  
  49. }
  50.  
  51. Формат ответа сервера
  52.  
  53. //ОТВЕТ СЕРВЕРА НА ОШИБКУ
  54. std::string MakeAnswerError(std::string reason, string initiator)
  55. {
  56. unordered_map<string, string> res{
  57. {CONSTANTS::LF_RESULT, CONSTANTS::RF_ERROR},
  58. {CONSTANTS::LF_REASON, std::move(reason)},
  59. {CONSTANTS::LF_INITIATOR, std::move(initiator)}};
  60. return Service::SerializeUmap(res);
  61. };
  62.  
  63. // ОТВЕТ СЕРВЕРА НА УСПЕШНОЕ ПОЛУЧЕНИЕ ПОЛЬЗОВАТЕЛЕЙ
  64. std::string Srv_MakeSuccessGetUsers(std::string userlist)
  65. {
  66. std::unordered_map<std::string, std::string> res = GetSuccess();
  67. res[CONSTANTS::LF_ACTION] = CONSTANTS::ACT_GET_USERS;
  68. res[CONSTANTS::LF_USERS] = userlist;
  69. return Service::SerializeUmap<std::string, std::string>(res);
  70. };
  71.  
  72. // ОТВЕТ СЕРВЕРА НА УСПЕШНОЕ ДОБАВЛЕНИЕ ПОЛЬЗОВАТЕЛЯ
  73. std::string Srv_MakeSuccessAddUser(std::string token, std::string roomname)
  74. {
  75. std::unordered_map<std::string, std::string> res = GetSuccess();
  76. res[CONSTANTS::LF_ACTION] = CONSTANTS::ACT_CONNECT;
  77. res[CONSTANTS::LF_TOKEN] = std::move(token);
  78. res[CONSTANTS::LF_ROOMNAME] = std::move(roomname);
  79. return Service::SerializeUmap<std::string, std::string>(res);
  80. };
  81. service.cpp
  82. ...........................
  83.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement