pidgin/plugins/crazychat/util.h

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 15884
4de1981757fc
child 16238
33bf2fd32108
child 18068
b6554e3c8224
child 20478
46933dc62880
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

11232
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
1 #ifndef __UTIL_H__
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
2 #define __UTIL_H__
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
3
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
4 #include <debug.h>
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
5
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
6 #define SET_TIME(x) \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
7 do { \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
8 assert(!gettimeofday((x), NULL)); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
9 } while(0)
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
10
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
11 #define SET_TIMEOUT(timespec, given_timeout) /* timeout is in ms */ \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
12 do { \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
13 struct timeval* curr = (struct timeval*)(timespec); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
14 unsigned int tout; \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
15 if (given_timeout > 100) { \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
16 tout = given_timeout; \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
17 } else { \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
18 tout = 100; \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
19 } \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
20 SET_TIME(curr); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
21 curr->tv_sec += (tout / 1000); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
22 curr->tv_usec /= 1000; /* set to ms */ \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
23 curr->tv_usec += (tout % 1000); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
24 curr->tv_sec += (curr->tv_usec / 1000); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
25 curr->tv_usec = (curr->tv_usec % 1000); \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
26 curr->tv_usec *= 1000000; \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
27 } while (0)
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
28
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
29 #endif
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
30
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
31 /* -- gcc specific vararg macro support ... but its so nice! -- */
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
32 #ifdef _DEBUG_
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
33 #define Debug(x, args...) \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
34 do { \
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
35 printf(x, ## args); \
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
36 purple_debug(PURPLE_DEBUG_INFO, "crazychat", x, ## args); \
11232
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
37 } while (0)
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
38 #else
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
39 #define Debug(x, args...) do{}while(0)
27bb80119f01 [gaim-migrate @ 13372]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
40 #endif

mercurial