comparison plugins/raw.c @ 12019:4c05f4dd3ab9

[gaim-migrate @ 14312] *** empty log message *** committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 09 Nov 2005 02:59:02 +0000
parents bb0d7b719af2
children 440d9354b67f
comparison
equal deleted inserted replaced
12018:014c22dd9d06 12019:4c05f4dd3ab9
1 #define GAIM_PLUGINS 1 /*
2 * Gaim - Replace certain misspelled words with their correct form.
3 *
4 * Signification changes were made by Benjamin Kahn ("xkahn") and
5 * Richard Laager ("rlaager") in April 2005--you may want to contact
6 * them if you have questions.
7 *
8 * Gaim is the legal property of its developers, whose names are too numerous
9 * to list here. Please refer to the COPYRIGHT file distributed with this
10 * source distribution.
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 *
26 */
27
28 #include "internal.h"
29 #include "gtkgaim.h"
30
2 #include "conversation.h" 31 #include "conversation.h"
3 #include "debug.h" 32 #include "debug.h"
4 #include "prpl.h" 33 #include "prpl.h"
5 #include "version.h" 34 #include "version.h"
6 35
7 #include "gtkgaim.h"
8 #include "gtkplugin.h" 36 #include "gtkplugin.h"
9 #include "gtkutils.h" 37 #include "gtkutils.h"
10 38
11 #ifdef MAX 39 #ifdef MAX
12 # undef MAX 40 # undef MAX
13 # undef MIN 41 # undef MIN
14 #endif 42 #endif
15
16 #include "protocols/jabber/jabber.h"
17 #undef GAIM_PLUGINS
18 #include "protocols/msn/session.h"
19 43
20 #define RAW_PLUGIN_ID "gtk-raw" 44 #define RAW_PLUGIN_ID "gtk-raw"
21 45
22 static GtkWidget *window = NULL; 46 static GtkWidget *window = NULL;
23 static GaimAccount *account = NULL; 47 static GaimAccount *account = NULL;
44 gc = gaim_account_get_connection(account); 68 gc = gaim_account_get_connection(account);
45 69
46 txt = gtk_entry_get_text(entry); 70 txt = gtk_entry_get_text(entry);
47 71
48 prpl_id = gaim_account_get_protocol_id(account); 72 prpl_id = gaim_account_get_protocol_id(account);
49 73
50 gaim_debug_misc("raw", "prpl_id = %s\n", prpl_id); 74 gaim_debug_misc("raw", "prpl_id = %s\n", prpl_id);
51 75
52 if (strcmp(prpl_id, "prpl-toc") == 0) { 76 if (strcmp(prpl_id, "prpl-toc") == 0) {
53 int *a = (int *)gc->proto_data; 77 int *a = (int *)gc->proto_data;
54 unsigned short seqno = htons(a[1]++ & 0xffff); 78 unsigned short seqno = htons(a[1]++ & 0xffff);
55 unsigned short len = htons(strlen(txt) + 1); 79 unsigned short len = htons(strlen(txt) + 1);
56 write(*a, "*\002", 2); 80 write(*a, "*\002", 2);
57 write(*a, &seqno, 2); 81 write(*a, &seqno, 2);
58 write(*a, &len, 2); 82 write(*a, &len, 2);
59 write(*a, txt, ntohs(len)); 83 write(*a, txt, ntohs(len));
60 gaim_debug(GAIM_DEBUG_MISC, "raw", "TOC C: %s\n", txt); 84 gaim_debug(GAIM_DEBUG_MISC, "raw", "TOC C: %s\n", txt);
61
62 } else if (strcmp(prpl_id, "prpl-msn") == 0) {
63 MsnSession *session = gc->proto_data;
64 char buf[strlen(txt) + 3];
65 85
66 g_snprintf(buf, sizeof(buf), "%s\r\n", txt);
67 msn_servconn_write(session->notification->servconn, buf, strlen(buf));
68
69 } else if (strcmp(prpl_id, "prpl-irc") == 0) { 86 } else if (strcmp(prpl_id, "prpl-irc") == 0) {
70 write(*(int *)gc->proto_data, txt, strlen(txt)); 87 write(*(int *)gc->proto_data, txt, strlen(txt));
71 write(*(int *)gc->proto_data, "\r\n", 2); 88 write(*(int *)gc->proto_data, "\r\n", 2);
72 gaim_debug(GAIM_DEBUG_MISC, "raw", "IRC C: %s\n", txt); 89 gaim_debug(GAIM_DEBUG_MISC, "raw", "IRC C: %s\n", txt);
73 90
74 } else if (strcmp(prpl_id, "prpl-jabber") == 0) {
75 jabber_send_raw((JabberStream *)gc->proto_data, txt, -1);
76 } else { 91 } else {
77 gaim_debug_error("raw", "Unknown protocol ID %s\n", prpl_id); 92 gaim_debug_error("raw", "Unknown protocol ID %s\n", prpl_id);
78 } 93 }
79 94
80 gtk_entry_set_text(entry, ""); 95 gtk_entry_set_text(entry, "");
149 GAIM_PRIORITY_DEFAULT, 164 GAIM_PRIORITY_DEFAULT,
150 RAW_PLUGIN_ID, 165 RAW_PLUGIN_ID,
151 N_("Raw"), 166 N_("Raw"),
152 VERSION, 167 VERSION,
153 N_("Lets you send raw input to text-based protocols."), 168 N_("Lets you send raw input to text-based protocols."),
154 N_("Lets you send raw input to text-based protocols (Jabber, MSN, IRC, " 169 N_("Lets you send raw input to text-based protocols (IRC, "
155 "TOC). Hit 'Enter' in the entry box to send. Watch the debug window."), 170 "TOC). Hit 'Enter' in the entry box to send. Watch the debug window."),
156 "Eric Warmenhoven <eric@warmenhoven.org>", 171 "Eric Warmenhoven <eric@warmenhoven.org>",
157 GAIM_WEBSITE, 172 GAIM_WEBSITE,
158 plugin_load, 173 plugin_load,
159 plugin_unload, 174 plugin_unload,