changed Makefile; build all commands as an own file
[NeonServV5.git] / IRCEvents.h
index ce560ed95bea4de824736fdc6d7a9374501f4b48..e08803e9f34fd14fa306d9ce50b294584bb91e74 100644 (file)
@@ -6,21 +6,91 @@
 struct UserNode;
 struct ChanNode;
 struct ChanUser;
+struct ClientSocket;
 
+void init_bind();
+void free_bind();
+
+typedef void join_func_t(struct ChanUser *chanuser);
+int bind_join(join_func_t *func);
+void unbind_join(join_func_t *func);
 int event_join(struct ChanUser *chanuser);
+
+typedef void nick_func_t(struct UserNode *user, char *new_nick);
+int bind_nick(nick_func_t *func);
+void unbind_nick(nick_func_t *func);
 int event_nick(struct UserNode *user, char *new_nick);
+
+typedef void part_func_t(struct ChanUser *chanuser, char *reason);
+int bind_part(part_func_t *func);
+void unbind_part(part_func_t *func);
 int event_part(struct ChanUser *chanuser, char *reason);
+
+typedef void quit_func_t(struct UserNode *user, char *reason);
+int bind_quit(quit_func_t *func);
+void unbind_quit(quit_func_t *func);
 int event_quit(struct UserNode *user, char *reason);
+
+typedef void kick_func_t(struct UserNode *user, struct ChanUser *target, char *reason);
+int bind_kick(kick_func_t *func);
+void unbind_kick(kick_func_t *func);
 int event_kick(struct UserNode *user, struct ChanUser *target, char *reason);
+
+typedef void topic_func_t(struct UserNode *user, struct ChanNode *chan, const char *new_topic);
+int bind_topic(topic_func_t *func);
+void unbind_topic(topic_func_t *func);
 int event_topic(struct UserNode *user, struct ChanNode *chan, const char *new_topic);
+
+typedef void mode_func_t(struct UserNode *user, struct ChanNode *chan, char *modes, char **argv, int argc);
+int bind_mode(mode_func_t *func);
+void unbind_mode(mode_func_t *func);
 int event_mode(struct UserNode *user, struct ChanNode *chan, char *modes, char **argv, int argc);
+
+typedef void chanmsg_func_t(struct UserNode *user, struct ChanNode *chan, char *message);
+int bind_chanmsg(chanmsg_func_t *func);
+void unbind_chanmsg(chanmsg_func_t *func);
 int event_chanmsg(struct UserNode *user, struct ChanNode *chan, char *message);
+
+typedef void privmsg_func_t(struct UserNode *user, struct UserNode *target, char *message);
+int bind_privmsg(privmsg_func_t *func);
+void unbind_privmsg(privmsg_func_t *func);
 int event_privmsg(struct UserNode *user, struct UserNode *target, char *message);
+
+typedef void channotice_func_t(struct UserNode *user, struct ChanNode *chan, char *message);
+int bind_channotice(channotice_func_t *func);
+void unbind_channotice(channotice_func_t *func);
 int event_channotice(struct UserNode *user, struct ChanNode *chan, char *message);
+
+typedef void privnotice_func_t(struct UserNode *user, struct UserNode *target, char *message);
+int bind_privnotice(privnotice_func_t *func);
+void unbind_privnotice(privnotice_func_t *func);
 int event_privnotice(struct UserNode *user, struct UserNode *target, char *message);
+
+typedef void chanctcp_func_t(struct UserNode *user, struct ChanNode *chan, char *command, char *text);
+int bind_chanctcp(chanctcp_func_t *func);
+void unbind_chanctcp(chanctcp_func_t *func);
 int event_chanctcp(struct UserNode *user, struct ChanNode *chan, char *command, char *text);
-int event_privctcp(struct UserNode *user, struct ChanNode *chan, char *command, char *text);
-int event_invite(struct UserNode *user, struct ChanUser *target, char *channel);
+
+typedef void privctcp_func_t(struct UserNode *user, struct UserNode *target, char *command, char *text);
+int bind_privctcp(privctcp_func_t *func);
+void unbind_privctcp(privctcp_func_t *func);
+int event_privctcp(struct UserNode *user, struct UserNode *target, char *command, char *text);
+
+typedef void invite_func_t(struct ClientSocket *client, struct UserNode *user, char *channel);
+int bind_invite(invite_func_t *func);
+void unbind_invite(invite_func_t *func);
+int event_invite(struct ClientSocket *client, struct UserNode *user, char *channel);
+
+typedef void raw_func_t(struct ClientSocket *client, char *from, char *cmd, char **argv, int argc);
+int bind_raw(raw_func_t *func);
+void unbind_raw(raw_func_t *func);
 int event_raw(struct ClientSocket *client, char *from, char *cmd, char **argv, int argc);
 
+typedef void bot_ready_func_t(struct ClientSocket *client);
+int bind_bot_ready(bot_ready_func_t *func);
+void unbind_bot_ready(bot_ready_func_t *func);
+int event_bot_ready(struct ClientSocket *client);
+
+
+
 #endif
\ No newline at end of file