From 6d4fb7df596c8f2167088b1bc32d830f088e1eb6 Mon Sep 17 00:00:00 2001 From: watcherhd Date: Fri, 27 Apr 2012 17:15:35 +0000 Subject: FacebookRM: sources removed, there are on http://robyer.googlecode.com/svn/trunk/facebook git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@290 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- FacebookRM/chat.cpp | 317 ---------------------------------------------------- 1 file changed, 317 deletions(-) delete mode 100644 FacebookRM/chat.cpp (limited to 'FacebookRM/chat.cpp') diff --git a/FacebookRM/chat.cpp b/FacebookRM/chat.cpp deleted file mode 100644 index 7326254..0000000 --- a/FacebookRM/chat.cpp +++ /dev/null @@ -1,317 +0,0 @@ -/* - -Facebook plugin for Miranda Instant Messenger -_____________________________________________ - -Copyright © 2011-12 Robert Pösel - -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, either version 2 of the License, or -(at your option) any later version. - -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 . - -*/ - -#include "common.h" - -void FacebookProto::UpdateChat(const char *chat_id, const char *id, const char *name, const char *message) -{ - GCDEST gcd = { m_szModuleName }; - gcd.ptszID = mir_a2t(chat_id); - - GCEVENT gce = {sizeof(gce)}; - gce.pDest = &gcd; - gce.ptszText = mir_a2t_cp(message,CP_UTF8); - gce.time = ::time(NULL); - gce.dwFlags = GC_TCHAR; - gcd.iType = GC_EVENT_MESSAGE; - gce.bIsMe = !strcmp(id,facy.self_.user_id.c_str()); - gce.dwFlags |= GCEF_ADDTOLOG; - - gce.ptszNick = mir_a2t_cp(name,CP_UTF8); - gce.ptszUID = mir_a2t(id); - - CallServiceSync(MS_GC_EVENT,0,reinterpret_cast(&gce)); - - mir_free(const_cast(gce.ptszUID)); - mir_free(const_cast(gce.ptszNick)); - mir_free(const_cast(gce.ptszText)); - mir_free(const_cast(gcd.ptszID)); - - - // Close chat window, if set - ForkThread( &FacebookProto::MessagingWorker, this, new send_messaging(chat_id, FACEBOOK_SEND_MESSAGE ) ); -} - -int FacebookProto::OnChatOutgoing(WPARAM wParam,LPARAM lParam) -{ - GCHOOK *hook = reinterpret_cast(lParam); - char *text; - char *id; - - if (strcmp(hook->pDest->pszModule,m_szModuleName)) - return 0; - - switch(hook->pDest->iType) - { - case GC_USER_MESSAGE: - { - text = mir_t2a_cp(hook->ptszText,CP_UTF8); - std::string msg = text; - - id = mir_t2a_cp(hook->pDest->ptszID,CP_UTF8); - std::string chat_id = id; - - mir_free(text); - mir_free(id); - - if (isOnline()) { - LOG("**Chat - Outgoing message: %s", text); - ForkThread(&FacebookProto::SendChatMsgWorker, this, new send_chat(chat_id, msg) ); - } - - break; - } - - case GC_USER_LEAVE: - case GC_SESSION_TERMINATE: - { - break; - } - } - - return 0; -} - -void FacebookProto::AddChatContact(const char *chat_id, const char *id, const char *name) -{ - GCDEST gcd = { m_szModuleName }; - gcd.ptszID = mir_a2t(chat_id); - gcd.iType = GC_EVENT_JOIN; - - GCEVENT gce = {sizeof(gce)}; - gce.pDest = &gcd; - gce.dwFlags = GC_TCHAR | GCEF_ADDTOLOG; - gce.ptszNick = mir_a2t_cp(name, CP_UTF8); - gce.ptszUID = mir_a2t(id); - gce.time = ::time(NULL); - gce.bIsMe = !strcmp(id, facy.self_.user_id.c_str()); - - if (gce.bIsMe) - gce.ptszStatus = _T("Admin"); - else - gce.ptszStatus = _T("Normal"); - - CallServiceSync(MS_GC_EVENT,0,reinterpret_cast(&gce)); - - mir_free(const_cast(gce.ptszNick)); - mir_free(const_cast(gce.ptszUID)); - mir_free(const_cast(gcd.ptszID)); -} - - -void FacebookProto::RemoveChatContact(const char *chat_id, const char *id) -{ - // We dont want to remove our self-contact from chat. Ever. - if (!strcmp(id, facy.self_.user_id.c_str())) - return; - - GCDEST gcd = { m_szModuleName }; - gcd.ptszID = mir_a2t(chat_id); - gcd.iType = GC_EVENT_PART; - - GCEVENT gce = {sizeof(gce)}; - gce.pDest = &gcd; - gce.dwFlags = GC_TCHAR | GCEF_ADDTOLOG; - //gce.ptszNick = mir_a2t_cp(name, CP_UTF8); - gce.ptszUID = mir_a2t(id); - gce.ptszNick = gce.ptszUID; - gce.time = ::time(NULL); - gce.bIsMe = false;//!strcmp(id, facy.self_.user_id.c_str()); - - CallServiceSync(MS_GC_EVENT,0,reinterpret_cast(&gce)); - - mir_free(const_cast(gcd.ptszID)); - mir_free(const_cast(gce.ptszNick)); - mir_free(const_cast(gce.ptszUID)); -} - -char *FacebookProto::GetChatUsers(const char *chat_id) -{ - GC_INFO gci = {0}; - gci.Flags = USERS; - gci.pszModule = m_szModuleName; - gci.pszID = mir_a2t(chat_id); - CallService(MS_GC_GETINFO, 0, (LPARAM)(GC_INFO *) &gci); - - LOG("**Chat - Users in chat %s: %s", chat_id, gci.pszUsers); - - mir_free(gci.pszID); - - // mir_free(gci.pszUsers); - return gci.pszUsers; -} - -bool FacebookProto::IsChatContact(const char *chat_id, const char *id) -{ - char *users = GetChatUsers(chat_id); - bool found = false; - - if (users != NULL && strstr(users, id) != NULL) - found = true; - - mir_free(users); - return found; -} - -void FacebookProto::AddChat(const char *id, const char *name) -{ - GCSESSION gcw = {sizeof(gcw)}; - - // Create the group chat session - gcw.dwFlags = GC_TCHAR; - gcw.iType = GCW_CHATROOM; - gcw.pszModule = m_szModuleName; - gcw.ptszName = mir_a2t_cp(name, CP_UTF8); - gcw.ptszID = mir_a2t(id); - CallServiceSync(MS_GC_NEWSESSION, 0, (LPARAM)&gcw); - - mir_free(const_cast(gcw.ptszName)); - mir_free(const_cast(gcw.ptszID)); - - // Send setting events - GCDEST gcd = { m_szModuleName }; - gcd.ptszID = mir_a2t(id); - - GCEVENT gce = {sizeof(gce)}; - gce.pDest = &gcd; - gce.dwFlags = GC_TCHAR; - - // Create a user statuses - gcd.iType = GC_EVENT_ADDGROUP; - gce.ptszStatus = _T("Admin"); - CallServiceSync( MS_GC_EVENT, NULL, reinterpret_cast(&gce) ); - gce.ptszStatus = _T("Normal"); - CallServiceSync( MS_GC_EVENT, NULL, reinterpret_cast(&gce) ); - - // Finish initialization - gcd.iType = GC_EVENT_CONTROL; - gce.time = ::time(NULL); - gce.pDest = &gcd; - - // Add self contact - AddChatContact(id, facy.self_.user_id.c_str(), facy.self_.real_name.c_str()); - CallServiceSync(MS_GC_EVENT,SESSION_INITDONE,reinterpret_cast(&gce)); - CallServiceSync(MS_GC_EVENT,SESSION_ONLINE, reinterpret_cast(&gce)); - - mir_free(const_cast(gcd.ptszID)); -} - -/*void FacebookProto::SetTopic(const char *topic) -{ - GCDEST gcd = { m_szModuleName }; - gcd.ptszID = const_cast(m_tszUserName); - gcd.iType = GC_EVENT_TOPIC; - - GCEVENT gce = {sizeof(gce)}; - gce.pDest = &gcd; - gce.dwFlags = GC_TCHAR; - gce.time = ::time(NULL); - - std::string top = Translate(topic); - gce.ptszText = mir_a2t(top.c_str()); - CallServiceSync(MS_GC_EVENT,0, reinterpret_cast(&gce)); -} -*/ - -int FacebookProto::OnJoinChat(WPARAM,LPARAM suppress) -{ -/* GCSESSION gcw = {sizeof(gcw)}; - - // Create the group chat session - gcw.dwFlags = GC_TCHAR; - gcw.iType = GCW_CHATROOM; - gcw.pszModule = m_szModuleName; - gcw.ptszName = m_tszUserName; - gcw.ptszID = m_tszUserName; - CallServiceSync(MS_GC_NEWSESSION, 0, (LPARAM)&gcw); - - if(m_iStatus != ID_STATUS_ONLINE) - return 0; - - // Create a group - GCDEST gcd = { m_szModuleName }; - gcd.ptszID = const_cast(m_tszUserName); - - GCEVENT gce = {sizeof(gce)}; - gce.pDest = &gcd; - gce.dwFlags = GC_TCHAR; - - gcd.iType = GC_EVENT_ADDGROUP; - - gce.ptszStatus = _T("Admin"); - CallServiceSync( MS_GC_EVENT, NULL, reinterpret_cast(&gce) ); - - gce.ptszStatus = _T("Normal"); - CallServiceSync( MS_GC_EVENT, NULL, reinterpret_cast(&gce) ); - - SetTopic("Omegle is a great way of meeting new friends!"); - - // Note: Initialization will finish up in SetChatStatus, called separately - if(!suppress) - SetChatStatus(m_iStatus); -*/ - return 0; -} - -int FacebookProto::OnLeaveChat(WPARAM,LPARAM) -{ - GCDEST gcd = { m_szModuleName }; - gcd.ptszID = NULL; - gcd.iType = GC_EVENT_CONTROL; - - GCEVENT gce = {sizeof(gce)}; - gce.dwFlags = GC_TCHAR; - gce.time = ::time(NULL); - gce.pDest = &gcd; - - CallServiceSync(MS_GC_EVENT,SESSION_OFFLINE, reinterpret_cast(&gce)); - CallServiceSync(MS_GC_EVENT,SESSION_TERMINATE,reinterpret_cast(&gce)); - - return 0; -} - -/* -void FacebookProto::SetChatStatus(int status) -{ - GCDEST gcd = { m_szModuleName }; - gcd.ptszID = const_cast(m_tszUserName); - gcd.iType = GC_EVENT_CONTROL; - - GCEVENT gce = {sizeof(gce)}; - gce.dwFlags = GC_TCHAR; - gce.time = ::time(NULL); - gce.pDest = &gcd; - - if(status == ID_STATUS_ONLINE) - { - // Add self contact - AddChatContact(facy.nick_.c_str()); - - CallServiceSync(MS_GC_EVENT,SESSION_INITDONE,reinterpret_cast(&gce)); - CallServiceSync(MS_GC_EVENT,SESSION_ONLINE, reinterpret_cast(&gce)); - } - else - { - CallServiceSync(MS_GC_EVENT,SESSION_OFFLINE,reinterpret_cast(&gce)); - } -} -*/ \ No newline at end of file -- cgit v1.2.3