Sun, 09 Nov 2008 20:55:10 +0000
Added menu items to buddy list context menu to start voice and video sessions
After discussing the matter with Maiku, we decided to have two choises.
"Audio call" which will show up if audio sessions is possible with a buddy and
the other item is either "Audio/Video" or "Video" depending on if the buddy
supports both at the same time or not
|
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 | 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 |