ignore_auth/ignore_auth.c
changeset 40 5cd4b42ada91
parent 38 3dad6bd6cde2
equal deleted inserted replaced
39:aa40c940b180 40:5cd4b42ada91
    37         .requires        = NULL,
    37         .requires        = NULL,
    38         .init            = ignore_auth_init,
    38         .init            = ignore_auth_init,
    39         .uninit          = ignore_auth_uninit,
    39         .uninit          = ignore_auth_uninit,
    40         .next            = NULL,
    40         .next            = NULL,
    41 };
    41 };
       
    42 
       
    43 #ifdef MCABBER_API_HAVE_CMD_ID
       
    44 static gpointer ignoreauth_cmdid;
       
    45 #endif
    42 
    46 
    43 GSList *regexlist = NULL;
    47 GSList *regexlist = NULL;
    44 static guint ignore_auth_hid = 0;  /* Hook handler id */
    48 static guint ignore_auth_hid = 0;  /* Hook handler id */
    45 
    49 
    46 static guint ignore_hh(const gchar *hookname, hk_arg_t *args, gpointer userdata)
    50 static guint ignore_hh(const gchar *hookname, hk_arg_t *args, gpointer userdata)
   109 
   113 
   110 /* Initialization */
   114 /* Initialization */
   111 static void ignore_auth_init(void)
   115 static void ignore_auth_init(void)
   112 {
   116 {
   113   /* Add command */
   117   /* Add command */
       
   118 #ifdef MCABBER_API_HAVE_CMD_ID
       
   119   ignoreauth_cmdid = cmd_add("ignore_auth", "", 0, 0, do_ignore_auth, NULL);
       
   120 #else
   114   cmd_add("ignore_auth", "", 0, 0, do_ignore_auth, NULL);
   121   cmd_add("ignore_auth", "", 0, 0, do_ignore_auth, NULL);
       
   122 #endif
   115   /* Add handler */
   123   /* Add handler */
   116   ignore_auth_hid = hk_add_handler(ignore_hh, HOOK_SUBSCRIPTION,
   124   ignore_auth_hid = hk_add_handler(ignore_hh, HOOK_SUBSCRIPTION,
   117                                    G_PRIORITY_DEFAULT_IDLE, NULL);
   125                                    G_PRIORITY_DEFAULT_IDLE, NULL);
   118   settings_set(SETTINGS_TYPE_OPTION, "ignore_auth", "1");
   126   settings_set(SETTINGS_TYPE_OPTION, "ignore_auth", "1");
   119 }
   127 }
   121 /* Uninitialization */
   129 /* Uninitialization */
   122 static void ignore_auth_uninit(void)
   130 static void ignore_auth_uninit(void)
   123 {
   131 {
   124   GSList *head;
   132   GSList *head;
   125   /* Unregister command */
   133   /* Unregister command */
       
   134 #ifdef MCABBER_API_HAVE_CMD_ID
       
   135   cmd_del(ignoreauth_cmdid);
       
   136 #else
   126   cmd_del("ignore_auth");
   137   cmd_del("ignore_auth");
       
   138 #endif
   127   /* Unregister event handler */
   139   /* Unregister event handler */
   128   hk_del_handler(HOOK_SUBSCRIPTION, ignore_auth_hid);
   140   hk_del_handler(HOOK_SUBSCRIPTION, ignore_auth_hid);
   129   /* unref every regex */
   141   /* unref every regex */
   130   for (head = regexlist; head; head = g_slist_next(head))
   142   for (head = regexlist; head; head = g_slist_next(head))
   131     g_regex_unref(head->data);
   143     g_regex_unref(head->data);