grim/purple-spasm

Parents 2a1c4ada8b4a
Children e998d9d110fa
pass the command name into the command handler for reusability
--- a/src/spasm-chat.c Mon Feb 28 22:41:06 2022 -0600
+++ b/src/spasm-chat.c Mon Feb 28 22:55:04 2022 -0600
@@ -47,6 +47,7 @@
typedef void (*SpasmChatMessageHandler)(SpasmChatService *sa,
const gchar *tags,
const gchar *prefix,
+ const gchar *command,
const gchar *middle,
const gchar *trailing);
/******************************************************************************
@@ -147,16 +148,16 @@
*****************************************************************************/
static void
spasm_chat_service_handle_ping(SpasmChatService *chat, const gchar *tags,
- const gchar *prefix, const gchar *middle,
- const gchar *trailing)
+ const gchar *prefix, const gchar *command,
+ const gchar *middle, const gchar *trailing)
{
spasm_chat_service_real_send(chat, "PONG :%s", trailing);
}
static void
spasm_chat_service_handle_join(SpasmChatService *chat, const gchar *tags,
- const gchar *prefix, const gchar *middle,
- const gchar *trailing)
+ const gchar *prefix, const gchar *command,
+ const gchar *middle, const gchar *trailing)
{
PurpleAccount *account = spasm_account_get_account(chat->sa);
GMatchInfo *info = NULL;
@@ -216,8 +217,8 @@
static void
spasm_chat_service_handle_names(SpasmChatService *chat, const gchar *tags,
- const gchar *prefix, const gchar *middle,
- const gchar *trailing)
+ const gchar *prefix, const gchar *command,
+ const gchar *middle, const gchar *trailing)
{
PurpleAccount *account = NULL;
PurpleConvChat *chat_conversation = NULL;
@@ -267,8 +268,8 @@
static void
spasm_chat_service_handle_part(SpasmChatService *chat, const gchar *tags,
- const gchar *prefix, const gchar *middle,
- const gchar *trailing)
+ const gchar *prefix, const gchar *command,
+ const gchar *middle, const gchar *trailing)
{
PurpleAccount *account = spasm_account_get_account(chat->sa);
PurpleConnection *connection = NULL;
@@ -321,8 +322,8 @@
static void
spasm_chat_service_handle_privmsg(SpasmChatService *chat, const gchar *tags,
- const gchar *prefix, const gchar *middle,
- const gchar *trailing)
+ const gchar *prefix, const gchar *command,
+ const gchar *middle, const gchar *trailing)
{
GMatchInfo *info = NULL;
@@ -360,8 +361,8 @@
static void
spasm_chat_service_handle_cap(SpasmChatService *chat, const gchar *tags,
- const gchar *prefix, const gchar *middle,
- const gchar *trailing)
+ const gchar *prefix, const gchar *command,
+ const gchar *middle, const gchar *trailing)
{
if(g_ascii_strcasecmp(middle, "ACK") == 0) {
spasm_chat_service_real_send(chat, "CAP END");
@@ -435,7 +436,7 @@
if(value != NULL) {
SpasmChatMessageHandler handler = (SpasmChatMessageHandler)value;
- handler(chat, tags, prefix, middle, trailing);
+ handler(chat, tags, prefix, command, middle, trailing);
}
} else {
purple_debug_misc("spasm-chat", "no handler found for \"%s\"\n",