summaryrefslogtreecommitdiff
path: root/src/irc/core/irc-commands.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/irc/core/irc-commands.h')
-rw-r--r--src/irc/core/irc-commands.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/irc/core/irc-commands.h b/src/irc/core/irc-commands.h
new file mode 100644
index 00000000..739bd443
--- /dev/null
+++ b/src/irc/core/irc-commands.h
@@ -0,0 +1,26 @@
+#ifndef __IRC_COMMANDS_H
+#define __IRC_COMMANDS_H
+
+#include "commands.h"
+
+#define command_bind_irc(cmd, section, signal) \
+ command_bind_proto(cmd, IRC_PROTOCOL, section, signal)
+#define command_bind_irc_first(cmd, section, signal) \
+ command_bind_proto_first(cmd, IRC_PROTOCOL, section, signal)
+#define command_bind_irc_last(cmd, section, signal) \
+ command_bind_proto_last(cmd, IRC_PROTOCOL, section, signal)
+
+/* Simply returns if server isn't for IRC protocol. Prints ERR_NOT_CONNECTED
+ error if there's no server or server isn't connected yet */
+#define CMD_IRC_SERVER(server) \
+ G_STMT_START { \
+ if (server != NULL && !IS_IRC_SERVER(server)) \
+ return; \
+ if (server == NULL || !(server)->connected) \
+ cmd_return_error(CMDERR_NOT_CONNECTED); \
+ } G_STMT_END
+
+void irc_commands_init(void);
+void irc_commands_deinit(void);
+
+#endif