info->on_privmsg = handler;
}
+void
+unreg_privmsg_func(struct userNode *user) {
+ struct service_message_info *info;
+ info = dict_find(service_msginfo_dict, user->nick, NULL);
+ if (info) {
+ info->on_privmsg = NULL;
+ if (info->on_notice == NULL) {
+ dict_remove(service_msginfo_dict, user->nick);
+ }
+ }
+}
+
void
reg_notice_func(struct userNode *user, privmsg_func_t handler) {
struct service_message_info *info = dict_find(service_msginfo_dict, user->nick, NULL);
info->on_notice = handler;
}
+void
+unreg_notice_func(struct userNode *user) {
+ struct service_message_info *info;
+ info = dict_find(service_msginfo_dict, user->nick, NULL);
+ if (info) {
+ info->on_notice = NULL;
+ if (info->on_privmsg == NULL) {
+ dict_remove(service_msginfo_dict, user->nick);
+ }
+ }
+}
+
void
reg_oper_func(oper_func_t handler)
{