diff options
Diffstat (limited to 'protocols/ICQ-WIM/src/groupchats.cpp')
-rw-r--r-- | protocols/ICQ-WIM/src/groupchats.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/protocols/ICQ-WIM/src/groupchats.cpp b/protocols/ICQ-WIM/src/groupchats.cpp index 0e4bbb1a53..b0c438f535 100644 --- a/protocols/ICQ-WIM/src/groupchats.cpp +++ b/protocols/ICQ-WIM/src/groupchats.cpp @@ -20,6 +20,21 @@ #include "stdafx.h"
+SESSION_INFO* CIcqProto::CreateGroupChat(const wchar_t *pwszId, const wchar_t *pwszNick)
+{
+ auto *si = Chat_NewSession(GCW_CHATROOM, m_szModuleName, pwszId, pwszNick);
+ if (si != nullptr) {
+ Chat_AddGroup(si, TranslateT("admin"));
+ Chat_AddGroup(si, TranslateT("member"));
+ Chat_Control(si, m_bHideGroupchats ? WINDOW_HIDDEN : SESSION_INITDONE);
+ Chat_Control(si, SESSION_ONLINE);
+ }
+
+ return si;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////
+
void CIcqProto::LoadChatInfo(SESSION_INFO *si)
{
int memberCount = getDword(si->hContact, "MemberCount");
@@ -48,6 +63,16 @@ void CIcqProto::LoadChatInfo(SESSION_INFO *si) }
}
+/////////////////////////////////////////////////////////////////////////////////////////
+
+void CIcqProto::RetrieveChatInfo(SESSION_INFO *si)
+{
+ auto *pReq = new AsyncRapiRequest(this, "getChatInfo", &CIcqProto::OnGetChatInfo);
+ pReq->params << WCHAR_PARAM("sn", si->ptszID) << INT_PARAM("memberLimit", 100) << CHAR_PARAM("aimSid", m_aimsid);
+ pReq->pUserInfo = si;
+ Push(pReq);
+}
+
void CIcqProto::OnGetChatInfo(NETLIBHTTPREQUEST *pReply, AsyncHttpRequest *pReq)
{
SESSION_INFO *si = (SESSION_INFO*)pReq->pUserInfo;
|