mcabber/src/jabglue.h
author Mikael Berthe <mikael@lilotux.net>
Fri, 25 Nov 2005 23:07:21 +0100
changeset 537 6547fd48fb5e
parent 531 aee9a279a0f3
child 568 eb1df2371581
permissions -rw-r--r--
Buddy status change was not always displayed Buddy status change was not displayed when the status stays the same but the status message is removed.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
     1
#ifndef __JABGLUE_H__
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
     2
#define __JABGLUE_H__ 1
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
     3
159
ba51d1737086 [/trunk] Changeset 171 by mikael
mikael
parents: 124
diff changeset
     4
#include <glib.h>
ba51d1737086 [/trunk] Changeset 171 by mikael
mikael
parents: 124
diff changeset
     5
29
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
     6
#include "../libjabber/jabber.h"
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
     7
237
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
     8
#if HAVE_CONFIG_H
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
     9
# include <config.h>
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
    10
#endif
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
    11
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
    12
#if ! HAVE_DECL_STRPTIME
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
    13
 extern char *strptime ();
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
    14
#endif
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
    15
29
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    16
extern jconn jc;
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    17
46
f22e1d120606 [/trunk] Changeset 62 by mikael
mikael
parents: 41
diff changeset
    18
extern char imstatus2char[];
277
4d7040cff8ee Remove busy/occupied status, which does not really exist
Mikael Berthe <mikael@lilotux.net>
parents: 272
diff changeset
    19
// Status chars: '_', 'o', 'i', 'f', 'd', 'n', 'a'
46
f22e1d120606 [/trunk] Changeset 62 by mikael
mikael
parents: 41
diff changeset
    20
29
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    21
enum imstatus {
41
a7c699bd09e0 [/trunk] Changeset 57 by mikael
mikael
parents: 37
diff changeset
    22
    offline,
29
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    23
    available,
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    24
    invisible,
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    25
    freeforchat,
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    26
    dontdisturb,
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    27
    notavail,
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    28
    away,
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    29
    imstatus_size
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    30
};
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    31
37
1441ba37a5c1 [/trunk] Changeset 53 by mikael
mikael
parents: 35
diff changeset
    32
enum agtype {
1441ba37a5c1 [/trunk] Changeset 53 by mikael
mikael
parents: 35
diff changeset
    33
    unknown,
1441ba37a5c1 [/trunk] Changeset 53 by mikael
mikael
parents: 35
diff changeset
    34
    groupchat,
1441ba37a5c1 [/trunk] Changeset 53 by mikael
mikael
parents: 35
diff changeset
    35
    transport,
1441ba37a5c1 [/trunk] Changeset 53 by mikael
mikael
parents: 35
diff changeset
    36
    search
1441ba37a5c1 [/trunk] Changeset 53 by mikael
mikael
parents: 35
diff changeset
    37
};
1441ba37a5c1 [/trunk] Changeset 53 by mikael
mikael
parents: 35
diff changeset
    38
298
35cda94e570d Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents: 294
diff changeset
    39
char *compose_jid(const char *username, const char *servername,
35cda94e570d Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents: 294
diff changeset
    40
                  const char *resource);
403
17aa60c6dc63 Allow a different server name than the jid domain name
Mikael Berthe <mikael@lilotux.net>
parents: 300
diff changeset
    41
jconn jb_connect(const char *jid, const char *server, unsigned int port,
17aa60c6dc63 Allow a different server name than the jid domain name
Mikael Berthe <mikael@lilotux.net>
parents: 300
diff changeset
    42
                 int ssl, const char *pass);
472
75442262c082 Disable some commands when not connected
Mikael Berthe <mikael@lilotux.net>
parents: 469
diff changeset
    43
inline unsigned char jb_getonline(void);
29
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    44
void jb_disconnect(void);
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    45
void jb_main();
244
5f8b529412bd [/trunk] Changeset 257 by mikael
mikael
parents: 237
diff changeset
    46
void jb_addbuddy(const char *jid, const char *name, const char *group);
205
e01bf6d9b4b8 [/trunk] Changeset 217 by mikael
mikael
parents: 159
diff changeset
    47
void jb_delbuddy(const char *jid);
208
8b08f34922c5 [/trunk] Changeset 220 by mikael
mikael
parents: 205
diff changeset
    48
void jb_updatebuddy(const char *jid, const char *name, const char *group);
116
1e7e59775f12 [/trunk] Changeset 130 by mikael
mikael
parents: 112
diff changeset
    49
inline enum imstatus jb_getstatus();
519
5c338d31de56 Show current global status message in "/status"
Mikael Berthe <mikael@lilotux.net>
parents: 486
diff changeset
    50
inline const char *jb_getstatusmsg();
444
5927c3bfba13 Add /status_to command
Mikael Berthe <mikael@lilotux.net>
parents: 436
diff changeset
    51
void jb_setstatus(enum imstatus st, const char *recipient, const char *msg);
475
fa49ac0bb8f3 Add "/room topic", and display topic changes
Mikael Berthe <mikael@lilotux.net>
parents: 472
diff changeset
    52
void jb_send_msg(const char *jid, const char *text, int type,
fa49ac0bb8f3 Add "/room topic", and display topic changes
Mikael Berthe <mikael@lilotux.net>
parents: 472
diff changeset
    53
                 const char *subject);
436
802da817a684 Add /rawxml command
Mikael Berthe <mikael@lilotux.net>
parents: 403
diff changeset
    54
void jb_send_raw(const char *str);
112
edb5591e2e64 [/trunk] Changeset 126 by mikael
mikael
parents: 46
diff changeset
    55
void jb_keepalive();
edb5591e2e64 [/trunk] Changeset 126 by mikael
mikael
parents: 46
diff changeset
    56
inline void jb_reset_keepalive();
edb5591e2e64 [/trunk] Changeset 126 by mikael
mikael
parents: 46
diff changeset
    57
void jb_set_keepalive_delay(unsigned int delay);
469
a926523d2392 Use UTF8 to handle resources and room nicknames
Mikael Berthe <mikael@lilotux.net>
parents: 449
diff changeset
    58
void jb_room_join(const char *room, const char *nickname);
449
e08b0c2d0e54 Add "/room unlock"
Mikael Berthe <mikael@lilotux.net>
parents: 447
diff changeset
    59
void jb_room_unlock(const char *room);
486
2a6a8ebb813b Add "/room invite"
Mikael Berthe <mikael@lilotux.net>
parents: 475
diff changeset
    60
void jb_room_invite(const char *room, const char *jid, const char *reason);
29
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    61
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
    62
#endif /* __JABGLUE_H__ */