annotate mcabber/src/hbuf.h @ 1461:8fa24a6d1a93

Improve Remote Controlling Clients The XEP recommends adding the node to the IQ response. Some clients seem not to understand the answer when it is omitted. Problem reported by Rhaamo and js (thanks to js for spotting the node issue!).
author Mikael Berthe <mikael@lilotux.net>
date Sat, 12 Apr 2008 13:35:03 +0200
parents bb1cc8902d0e
children 7b36b91a4388
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
1 #ifndef __HBUF_H__
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
2 #define __HBUF_H__ 1
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
3
184
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
4 #include <time.h>
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
5 #include <glib.h>
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
6
106
9a31028e8095 [/trunk] Changeset 120 by mikael
mikael
parents: 75
diff changeset
7 // With current implementation a message must fit in a hbuf block,
9a31028e8095 [/trunk] Changeset 120 by mikael
mikael
parents: 75
diff changeset
8 // so we shouldn't choose a too small size.
795
b16acadd7d53 Improve support for long messages
Mikael Berthe <mikael@lilotux.net>
parents: 728
diff changeset
9 #define HBB_BLOCKSIZE 8192 // > 20 please
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
10
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
11 // Flags:
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
12 // - ALLOC: the ptr data has been allocated, it can be freed
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
13 // - PERSISTENT: this is a new history line
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
14 #define HBB_FLAG_ALLOC 1
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
15 #define HBB_FLAG_PERSISTENT 2
184
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
16
1204
e802ec0c02d2 Basic support for nick highlighting in MUC rooms (the whole line is colored)
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
17 #define HBB_PREFIX_IN (1U<<0)
e802ec0c02d2 Basic support for nick highlighting in MUC rooms (the whole line is colored)
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
18 #define HBB_PREFIX_OUT (1U<<1)
e802ec0c02d2 Basic support for nick highlighting in MUC rooms (the whole line is colored)
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
19 #define HBB_PREFIX_STATUS (1U<<2)
e802ec0c02d2 Basic support for nick highlighting in MUC rooms (the whole line is colored)
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
20 #define HBB_PREFIX_AUTH (1U<<3)
e802ec0c02d2 Basic support for nick highlighting in MUC rooms (the whole line is colored)
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
21 #define HBB_PREFIX_INFO (1U<<4)
e802ec0c02d2 Basic support for nick highlighting in MUC rooms (the whole line is colored)
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
22 #define HBB_PREFIX_ERR (1U<<5)
e802ec0c02d2 Basic support for nick highlighting in MUC rooms (the whole line is colored)
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
23 #define HBB_PREFIX_NOFLAG (1U<<6)
e802ec0c02d2 Basic support for nick highlighting in MUC rooms (the whole line is colored)
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
24 #define HBB_PREFIX_HLIGHT_OUT (1U<<7)
e802ec0c02d2 Basic support for nick highlighting in MUC rooms (the whole line is colored)
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
25 #define HBB_PREFIX_HLIGHT (1U<<8)
e802ec0c02d2 Basic support for nick highlighting in MUC rooms (the whole line is colored)
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
26 #define HBB_PREFIX_NONE (1U<<9)
e802ec0c02d2 Basic support for nick highlighting in MUC rooms (the whole line is colored)
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
27 #define HBB_PREFIX_SPECIAL (1U<<10)
e802ec0c02d2 Basic support for nick highlighting in MUC rooms (the whole line is colored)
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
28 #define HBB_PREFIX_PGPCRYPT (1U<<11)
1268
dbc907b2d92f Add configurable colors for info and incoming messages (Michal 'vorner' Vaner)
Mikael Berthe <mikael@lilotux.net>
parents: 1227
diff changeset
29 #define HBB_PREFIX_CONT (1U<<12)
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
30
184
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
31 typedef struct {
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
32 time_t timestamp;
850
d0781ca2dd08 Use new status buffer window
Mikael Berthe <mikael@lilotux.net>
parents: 847
diff changeset
33 guint flags;
1290
e42f48103609 Drawing the MUC nicks by a different color
Michal 'vorner' Vaner <vorner@ucw.cz>
parents: 1268
diff changeset
34 unsigned mucnicklen;
184
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
35 char *text;
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
36 } hbb_line;
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
37
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
38 void hbuf_add_line(GList **p_hbuf, const char *text, time_t timestamp,
1290
e42f48103609 Drawing the MUC nicks by a different color
Michal 'vorner' Vaner <vorner@ucw.cz>
parents: 1268
diff changeset
39 guint prefix_flags, guint width, guint maxhbufblocks,
e42f48103609 Drawing the MUC nicks by a different color
Michal 'vorner' Vaner <vorner@ucw.cz>
parents: 1268
diff changeset
40 unsigned mucnicklen);
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
41 void hbuf_free(GList **p_hbuf);
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
42 void hbuf_rebuild(GList **p_hbuf, unsigned int width);
189
4f3975f1b852 [/trunk] Changeset 201 by mikael
mikael
parents: 186
diff changeset
43 GList *hbuf_previous_persistent(GList *l_line);
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
44
184
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
45 hbb_line **hbuf_get_lines(GList *hbuf, unsigned int n);
370
dd9e2eb52916 Add /buffer search_{backward,forward}
Mikael Berthe <mikael@lilotux.net>
parents: 364
diff changeset
46 GList *hbuf_search(GList *hbuf, int direction, const char *string);
464
e4840b288be0 Add "/buffer date"
Mikael Berthe <mikael@lilotux.net>
parents: 462
diff changeset
47 GList *hbuf_jump_date(GList *hbuf, time_t t);
462
d580e87c11ed Add "/buffer %n"
Mikael Berthe <mikael@lilotux.net>
parents: 370
diff changeset
48 GList *hbuf_jump_percent(GList *hbuf, int pc);
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
49
1227
79c396678f1b Make buffer list display the number of allocated HBB blocks
Mikael Berthe <mikael@lilotux.net>
parents: 1204
diff changeset
50 guint hbuf_get_blocks_number(GList *p_hbuf);
79c396678f1b Make buffer list display the number of allocated HBB blocks
Mikael Berthe <mikael@lilotux.net>
parents: 1204
diff changeset
51
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
52 #endif /* __HBUF_H__ */
576
8b3db0b555a1 Add Vim modelines
Mikael Berthe <mikael@lilotux.net>
parents: 513
diff changeset
53
580
fed6d1e4d7a9 Fix modelines
Mikael Berthe <mikael@lilotux.net>
parents: 576
diff changeset
54 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */