From c3908b9c6d53a6aef5e25975d3b336974e6dd610 Mon Sep 17 00:00:00 2001 From: MikalaiR Date: Thu, 16 Apr 2015 12:33:55 +0000 Subject: git-svn-id: http://svn.miranda-ng.org/main/trunk@12859 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/SkypeWeb/src/requests/chatrooms.h | 89 +++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 protocols/SkypeWeb/src/requests/chatrooms.h (limited to 'protocols/SkypeWeb/src/requests') diff --git a/protocols/SkypeWeb/src/requests/chatrooms.h b/protocols/SkypeWeb/src/requests/chatrooms.h new file mode 100644 index 0000000000..2a41798c50 --- /dev/null +++ b/protocols/SkypeWeb/src/requests/chatrooms.h @@ -0,0 +1,89 @@ +/* +Copyright (c) 2015 Miranda NG project (http://miranda-ng.org) + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation version 2 +of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef _SKYPE_REQUEST_CHATS_H_ +#define _SKYPE_REQUEST_CHATS_H_ + +class CreateChatroomRequest : public HttpRequest +{ +public: + CreateChatroomRequest(const char *regToken, const LIST &skypenames, const LIST &roles, const char *server = SKYPE_ENDPOINTS_HOST) : + HttpRequest(REQUEST_POST, FORMAT, "%s/v1/threads", server) + { + //{"members":[{"id":"8:user3","role":"User"},{"id":"8:user2","role":"User"},{"id":"8:user1","role":"Admin"}]} + + Headers + << CHAR_VALUE("Accept", "application/json, text/javascript") + << CHAR_VALUE("Content-Type", "application/json; charset=UTF-8") + << FORMAT_VALUE("RegistrationToken", "registrationToken=%s", regToken); + + CMStringA data = "{\"members\":["; + for (int i = 0; i < skypenames.getCount(); i++) + data.AppendFormat("{\"id\":\"8:%s\",\"role\":\"%s\"},", skypenames[i], roles[i]); + data.Truncate(data.GetLength() - 1); + data.Append("]}"); + + Body << VALUE(data); + } +}; + +class GetChatInfoRequest : public HttpRequest +{ +public: + GetChatInfoRequest(const char *regToken, const char *chatId, const char *server = SKYPE_ENDPOINTS_HOST) : + HttpRequest(REQUEST_GET, FORMAT, "%s/v1/threads/19:%s", server, chatId) + { + Url << CHAR_VALUE("view", "msnp24Equivalent"); + + Headers + << CHAR_VALUE("Accept", "application/json, text/javascript") + << CHAR_VALUE("Content-Type", "application/json; charset=UTF-8") + << FORMAT_VALUE("RegistrationToken", "registrationToken=%s", regToken); + } +}; + +class InviteUserToChatRequest : public HttpRequest +{ +public: + InviteUserToChatRequest(const char *regToken, const char *chatId, const char *skypename, const char* role, const char *server = SKYPE_ENDPOINTS_HOST) : + HttpRequest(REQUEST_PUT, FORMAT, "%s/v1/threads/19:%s/members/8:%s", server, chatId, skypename) + { + Headers + << CHAR_VALUE("Accept", "application/json, text/javascript") + << CHAR_VALUE("Content-Type", "application/json; charset=UTF-8") + << FORMAT_VALUE("RegistrationToken", "registrationToken=%s", regToken); + + CMStringA data; + data.AppendFormat("{\"role\":\"%s\"}", role); + Body << VALUE(data); + } +}; + +class KickUserRequest : public HttpRequest +{ +public: + KickUserRequest(const char *regToken, const char *chatId, const char *skypename, const char *server = SKYPE_ENDPOINTS_HOST) : + HttpRequest(REQUEST_DELETE, FORMAT, "%s/v1/threads/19:%s/members/8:%s", server, chatId, skypename) + { + Headers + << CHAR_VALUE("Accept", "application/json, text/javascript") + << CHAR_VALUE("Content-Type", "application/json; charset=UTF-8") + << FORMAT_VALUE("RegistrationToken", "registrationToken=%s", regToken); + } +}; + +#endif //_SKYPE_REQUEST_CHATS_H_ \ No newline at end of file -- cgit v1.2.3