Mercurial > pidgin.yaz
comparison src/protocols/jabber/jabber.c @ 9152:f65be7c97812
[gaim-migrate @ 9936]
committing before I screw this up more
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Mon, 31 May 2004 07:23:50 +0000 |
parents | 933a19e3a6b3 |
children | b6051a2d3bb5 |
comparison
equal
deleted
inserted
replaced
9151:e672ee8a12ec | 9152:f65be7c97812 |
---|---|
1308 JabberChat *chat = jabber_chat_find_by_conv(conv); | 1308 JabberChat *chat = jabber_chat_find_by_conv(conv); |
1309 jabber_chat_part(chat, args ? args[0] : NULL); | 1309 jabber_chat_part(chat, args ? args[0] : NULL); |
1310 return GAIM_CMD_RET_OK; | 1310 return GAIM_CMD_RET_OK; |
1311 } | 1311 } |
1312 | 1312 |
1313 static GaimCmdRet jabber_cmd_chat_ban(GaimConversation *conv, | |
1314 const char *cmd, char **args, char **error) | |
1315 { | |
1316 JabberChat *chat = jabber_chat_find_by_conv(conv); | |
1317 | |
1318 if(!args || !args[0]) | |
1319 return GAIM_CMD_RET_FAILED; | |
1320 | |
1321 if(!jabber_chat_ban_user(chat, args[0], args[1])) { | |
1322 *error = g_strdup_printf(_("Unable to ban user %s"), args[0]); | |
1323 return GAIM_CMD_RET_FAILED; | |
1324 } | |
1325 | |
1326 return GAIM_CMD_RET_OK; | |
1327 } | |
1328 | |
1329 static GaimCmdRet jabber_cmd_chat_invite(GaimConversation *conv, | |
1330 const char *cmd, char **args, char **error) | |
1331 { | |
1332 if(!args || !args[0]) | |
1333 return GAIM_CMD_RET_FAILED; | |
1334 | |
1335 jabber_chat_invite(gaim_conversation_get_gc(conv), | |
1336 gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv)), args[1] ? args[1] : "", | |
1337 args[0]); | |
1338 | |
1339 return GAIM_CMD_RET_OK; | |
1340 } | |
1341 | |
1342 static GaimCmdRet jabber_cmd_chat_join(GaimConversation *conv, | |
1343 const char *cmd, char **args, char **error) | |
1344 { | |
1345 JabberChat *chat = jabber_chat_find_by_conv(conv); | |
1346 GHashTable *components; | |
1347 | |
1348 if(!args || !args[0]) | |
1349 return GAIM_CMD_RET_FAILED; | |
1350 | |
1351 components = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL); | |
1352 | |
1353 g_hash_table_replace(components, "room", args[0]); | |
1354 g_hash_table_replace(components, "server", chat->server); | |
1355 g_hash_table_replace(components, "handle", chat->handle); | |
1356 if(args[1]) | |
1357 g_hash_table_replace(components, "password", args[1]); | |
1358 | |
1359 jabber_chat_join(gaim_conversation_get_gc(conv), components); | |
1360 | |
1361 g_hash_table_destroy(components); | |
1362 return GAIM_CMD_RET_OK; | |
1363 } | |
1364 | |
1365 static GaimCmdRet jabber_cmd_chat_kick(GaimConversation *conv, | |
1366 const char *cmd, char **args, char **error) | |
1367 { | |
1368 JabberChat *chat = jabber_chat_find_by_conv(conv); | |
1369 | |
1370 if(!args || !args[0]) | |
1371 return GAIM_CMD_RET_FAILED; | |
1372 | |
1373 if(!jabber_chat_kick_user(chat, args[0], args[1])) { | |
1374 *error = g_strdup_printf(_("Unable to kick user %s"), args[0]); | |
1375 return GAIM_CMD_RET_FAILED; | |
1376 } | |
1377 | |
1378 return GAIM_CMD_RET_OK; | |
1379 } | |
1380 | |
1381 static GaimCmdRet jabber_cmd_chat_msg(GaimConversation *conv, | |
1382 const char *cmd, char **args, char **error) | |
1383 { | |
1384 JabberChat *chat = jabber_chat_find_by_conv(conv); | |
1385 char *who; | |
1386 | |
1387 who = g_strdup_printf("%s@%s/%s", chat->room, chat->server, args[0]); | |
1388 | |
1389 jabber_message_send_im(gaim_conversation_get_gc(conv), who, args[1], 0); | |
1390 | |
1391 g_free(who); | |
1392 return GAIM_CMD_RET_OK; | |
1393 } | |
1394 | |
1313 static void jabber_register_commands(void) | 1395 static void jabber_register_commands(void) |
1314 { | 1396 { |
1315 gaim_cmd_register("config", "", GAIM_CMD_P_PRPL, | 1397 gaim_cmd_register("config", "", GAIM_CMD_P_PRPL, |
1316 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, "prpl-jabber", | 1398 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, "prpl-jabber", |
1317 jabber_cmd_chat_config, _("Configure a chat room")); | 1399 jabber_cmd_chat_config, _("Configure a chat room")); |
1331 /* XXX: there needs to be a core /topic cmd, methinks */ | 1413 /* XXX: there needs to be a core /topic cmd, methinks */ |
1332 gaim_cmd_register("topic", "s", GAIM_CMD_P_PRPL, | 1414 gaim_cmd_register("topic", "s", GAIM_CMD_P_PRPL, |
1333 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY | | 1415 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY | |
1334 GAIM_CMD_FLAG_ALLOW_WRONG_ARGS, "prpl-jabber", | 1416 GAIM_CMD_FLAG_ALLOW_WRONG_ARGS, "prpl-jabber", |
1335 jabber_cmd_chat_topic, _("View or change the topic")); | 1417 jabber_cmd_chat_topic, _("View or change the topic")); |
1418 gaim_cmd_register("ban", "ws", GAIM_CMD_P_PRPL, | |
1419 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY | | |
1420 GAIM_CMD_FLAG_ALLOW_WRONG_ARGS, "prpl-jabber", | |
1421 jabber_cmd_chat_ban, _("Ban a user from the room")); | |
1422 gaim_cmd_register("invite", "ws", GAIM_CMD_P_PRPL, | |
1423 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY | | |
1424 GAIM_CMD_FLAG_ALLOW_WRONG_ARGS, "prpl-jabber", | |
1425 jabber_cmd_chat_invite, _("Invite a user to the room")); | |
1426 gaim_cmd_register("join", "ws", GAIM_CMD_P_PRPL, | |
1427 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY | | |
1428 GAIM_CMD_FLAG_ALLOW_WRONG_ARGS, "prpl-jabber", | |
1429 jabber_cmd_chat_join, _("Join a chat on this server")); | |
1430 gaim_cmd_register("kick", "ws", GAIM_CMD_P_PRPL, | |
1431 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY | | |
1432 GAIM_CMD_FLAG_ALLOW_WRONG_ARGS, "prpl-jabber", | |
1433 jabber_cmd_chat_kick, _("Kick a user from the room")); | |
1434 gaim_cmd_register("msg", "ws", GAIM_CMD_P_PRPL, | |
1435 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, | |
1436 "prpl-jabber", | |
1437 jabber_cmd_chat_msg, _("Send a private message to another user")); | |
1336 } | 1438 } |
1337 | 1439 |
1338 static GaimPluginPrefFrame * | 1440 static GaimPluginPrefFrame * |
1339 get_plugin_pref_frame(GaimPlugin *plugin) { | 1441 get_plugin_pref_frame(GaimPlugin *plugin) { |
1340 GaimPluginPrefFrame *frame; | 1442 GaimPluginPrefFrame *frame; |