comparison libpurple/blist.h @ 20754:18cf8aa44f55

A request field for buddylist nodes.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Wed, 03 Oct 2007 05:41:39 +0000
parents 28493a27849b
children 774f4924e74e b1fa7765ca4b
comparison
equal deleted inserted replaced
20753:61045691aa72 20754:18cf8aa44f55
38 38
39 typedef struct _PurpleChat PurpleChat; 39 typedef struct _PurpleChat PurpleChat;
40 typedef struct _PurpleGroup PurpleGroup; 40 typedef struct _PurpleGroup PurpleGroup;
41 typedef struct _PurpleContact PurpleContact; 41 typedef struct _PurpleContact PurpleContact;
42 typedef struct _PurpleBuddy PurpleBuddy; 42 typedef struct _PurpleBuddy PurpleBuddy;
43
44 typedef gboolean (*PurpleFilterBlistFunc)(PurpleBlistNode *node);
43 45
44 /**************************************************************************/ 46 /**************************************************************************/
45 /* Enumerations */ 47 /* Enumerations */
46 /**************************************************************************/ 48 /**************************************************************************/
47 typedef enum 49 typedef enum
64 purple_presence_is_online(purple_buddy_get_presence(b))) 66 purple_presence_is_online(purple_buddy_get_presence(b)))
65 67
66 typedef enum 68 typedef enum
67 { 69 {
68 PURPLE_BLIST_NODE_FLAG_NO_SAVE = 1 << 0, /**< node should not be saved with the buddy list */ 70 PURPLE_BLIST_NODE_FLAG_NO_SAVE = 1 << 0, /**< node should not be saved with the buddy list */
71 PURPLE_BLIST_NODE_HAS_CONVERSATION = 1 << 1, /**< node (buddy or chat) has an open conversation */
69 72
70 } PurpleBlistNodeFlags; 73 } PurpleBlistNodeFlags;
71 74
75 #define PURPLE_BLIST_NODE_SET_FLAG(node, f) (((PurpleBlistNode *)node)->flags |= (f))
76 #define PURPLE_BLIST_NODE_UNSET_FLAG(node, f) (((PurpleBlistNode *)node)->flags &= ~(f))
72 #define PURPLE_BLIST_NODE_HAS_FLAG(b, f) (((PurpleBlistNode*)(b))->flags & (f)) 77 #define PURPLE_BLIST_NODE_HAS_FLAG(b, f) (((PurpleBlistNode*)(b))->flags & (f))
73 #define PURPLE_BLIST_NODE_SHOULD_SAVE(b) (! PURPLE_BLIST_NODE_HAS_FLAG(b, PURPLE_BLIST_NODE_FLAG_NO_SAVE)) 78 #define PURPLE_BLIST_NODE_SHOULD_SAVE(b) (! PURPLE_BLIST_NODE_HAS_FLAG(b, PURPLE_BLIST_NODE_FLAG_NO_SAVE))
74 79
75 #define PURPLE_BLIST_NODE_NAME(n) ((n)->type == PURPLE_BLIST_CHAT_NODE ? purple_chat_get_name((PurpleChat*)n) : \ 80 #define PURPLE_BLIST_NODE_NAME(n) ((n)->type == PURPLE_BLIST_CHAT_NODE ? purple_chat_get_name((PurpleChat*)n) : \
76 (n)->type == PURPLE_BLIST_BUDDY_NODE ? purple_buddy_get_name((PurpleBuddy*)n) : NULL) 81 (n)->type == PURPLE_BLIST_BUDDY_NODE ? purple_buddy_get_name((PurpleBuddy*)n) : NULL)