killpresence/killpresence.c
author Mikael Berthe <mikael@lilotux.net>
Sun, 27 Mar 2011 21:05:47 +0200
changeset 40 5cd4b42ada91
parent 37 a05815df848c
child 41 4e2be5f94743
permissions -rw-r--r--
Sync with current mcabber API
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     1
/*
37
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
     2
 *  Module "killpresence" -- Ignore current presence of an item
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
     3
 *
33
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
     4
 * /killpresence fulljid
37
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
     5
 *  Ignore current presence for the provided JID
33
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
     6
 * /killchatstates fulljid
37
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
     7
 *  Reset chat states for the provided JID
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
     8
 *
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
     9
 * Copyright (C) 2010 Mikael Berthe <mikael@lilotux.net>
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    10
 *
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    11
 * This module is free software; you can redistribute it and/or modify
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    12
 * it under the terms of the GNU General Public License as published by
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    13
 * the Free Software Foundation; either version 2 of the License, or (at
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    14
 * your option) any later version.
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    15
 *
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    16
 * This program is distributed in the hope that it will be useful, but
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    17
 * WITHOUT ANY WARRANTY; without even the implied warranty of
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    19
 * General Public License for more details.
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    20
 *
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    21
 * You should have received a copy of the GNU General Public License
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    22
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
a05815df848c Update headers
Mikael Berthe <mikael@lilotux.net>
parents: 33
diff changeset
    23
 */
19
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    24
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    25
#include <string.h>
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    26
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    27
#include <mcabber/modules.h>
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    28
#include <mcabber/commands.h>
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    29
#include <mcabber/compl.h>
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    30
#include <mcabber/roster.h>
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    31
#include <mcabber/screen.h>
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    32
#include <mcabber/utils.h>
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    33
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    34
static void killpresence_init(void);
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    35
static void killpresence_uninit(void);
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    36
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    37
/* Module description */
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    38
module_info_t info_killpresence = {
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    39
        .branch         = MCABBER_BRANCH,
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    40
        .api            = MCABBER_API_VERSION,
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    41
        .version        = "0.01",
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    42
        .description    = "Ignore an item's current presence",
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    43
        .requires       = NULL,
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    44
        .init           = killpresence_init,
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    45
        .uninit         = killpresence_uninit,
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    46
        .next           = NULL,
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    47
};
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    48
40
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
    49
#ifdef MCABBER_API_HAVE_CMD_ID
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
    50
static gpointer killpresence_cmdid, killchatstates_cmdid;
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
    51
#endif
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
    52
19
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    53
static void do_killpresence(char *args)
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    54
{
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    55
  char *jid_utf8, *res;
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    56
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    57
  if (!args || !*args)
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    58
    return;
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    59
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    60
  jid_utf8 = to_utf8(args);
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    61
  if (!jid_utf8)
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    62
    return;
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    63
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    64
  res = strchr(jid_utf8, JID_RESOURCE_SEPARATOR);
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    65
  if (res)
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    66
    *res++ = '\0';
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    67
  else
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    68
    return;
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    69
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    70
  roster_setstatus(jid_utf8, res, 0,
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    71
                   offline, "Killed by killpresence.",
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    72
                   0L, role_none, affil_none, NULL);
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    73
  buddylist_build();
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    74
  scr_draw_roster();
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    75
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    76
  g_free(jid_utf8);
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    77
}
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    78
33
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    79
#if defined XEP0022 || defined XEP0085
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    80
static void reset_chat_states(const char *fulljid)
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    81
{
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    82
  char *rname, *barejid;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    83
  GSList *sl_buddy;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    84
  struct xep0085 *xep85;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    85
  struct xep0022 *xep22;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    86
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    87
  rname = strchr(fulljid, JID_RESOURCE_SEPARATOR);
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    88
  if (!rname++)
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    89
    return;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    90
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    91
  barejid = jidtodisp(fulljid);
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    92
  sl_buddy = roster_find(barejid, jidsearch, ROSTER_TYPE_USER);
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    93
  g_free(barejid);
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    94
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    95
  if (!sl_buddy)
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    96
    return;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    97
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    98
  xep85 = buddy_resource_xep85(sl_buddy->data, rname);
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
    99
  xep22 = buddy_resource_xep22(sl_buddy->data, rname);
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   100
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   101
  // Reset Chat States (0085)
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   102
  if (xep85) {
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   103
    if (xep85->support == CHATSTATES_SUPPORT_PROBED)
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   104
      xep85->support = CHATSTATES_SUPPORT_UNKNOWN;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   105
    xep85->last_state_rcvd = ROSTER_EVENT_NONE;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   106
  }
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   107
  // Reset Message Events (0022)
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   108
  if (xep22) {
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   109
    if (xep22->support == CHATSTATES_SUPPORT_PROBED)
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   110
      xep22->support = CHATSTATES_SUPPORT_UNKNOWN;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   111
    xep22->last_state_rcvd = ROSTER_EVENT_NONE;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   112
    g_free(xep22->last_msgid_sent);
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   113
    g_free(xep22->last_msgid_rcvd);
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   114
    xep22->last_msgid_sent = NULL;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   115
    xep22->last_msgid_rcvd = NULL;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   116
  }
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   117
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   118
  // Finally reset the roster hint for the UI
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   119
  buddy_resource_setevents(sl_buddy->data, rname, ROSTER_EVENT_NONE);
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   120
  update_roster = TRUE;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   121
}
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   122
#endif
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   123
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   124
static void do_killchatstates(char *args)
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   125
{
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   126
#if defined XEP0022 || defined XEP0085
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   127
  char *jid_utf8;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   128
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   129
  if (!args || !*args)
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   130
    return;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   131
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   132
  jid_utf8 = to_utf8(args);
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   133
  if (!jid_utf8)
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   134
    return;
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   135
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   136
  reset_chat_states(jid_utf8);
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   137
  g_free(jid_utf8);
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   138
#else
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   139
  scr_log_print(LPRINT_NORMAL, "No Chat State support.");
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   140
#endif
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   141
}
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   142
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   143
19
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   144
/* Initialization */
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   145
static void killpresence_init(void)
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   146
{
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   147
  /* Add command */
40
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
   148
#ifdef MCABBER_API_HAVE_CMD_ID
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
   149
  killpresence_cmdid = cmd_add("killpresence", "Ignore presence",
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
   150
                               COMPL_JID, 0, do_killpresence, NULL);
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
   151
  killchatstates_cmdid = cmd_add("killchatstates", "Reset chatstates",
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
   152
                                 COMPL_JID, 0, do_killchatstates, NULL);
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
   153
#else
19
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   154
  cmd_add("killpresence", "Ignore presence", COMPL_JID, 0,
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   155
          do_killpresence, NULL);
33
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   156
  cmd_add("killchatstates", "Reset chatstates", COMPL_JID, 0,
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   157
          do_killchatstates, NULL);
40
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
   158
#endif
19
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   159
}
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   160
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   161
/* Uninitialization */
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   162
static void killpresence_uninit(void)
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   163
{
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   164
  /* Unregister command */
40
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
   165
#ifdef MCABBER_API_HAVE_CMD_ID
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
   166
  cmd_del(killpresence_cmdid);
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
   167
  cmd_del(killchatstates_cmdid);
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
   168
#else
19
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   169
  cmd_del("killpresence");
33
e9bb68c35bf3 [killpresence] Add command killchatstates
Mikael Berthe <mikael@lilotux.net>
parents: 20
diff changeset
   170
  cmd_del("killchatstates");
40
5cd4b42ada91 Sync with current mcabber API
Mikael Berthe <mikael@lilotux.net>
parents: 37
diff changeset
   171
#endif
19
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   172
}
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   173
85296f26810e Add module killpresence
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   174
/* vim: set expandtab cindent cinoptions=>2\:2(0 sw=2 ts=2:  For Vim users... */