summaryrefslogtreecommitdiff
path: root/!NotAdopted/IMO2sProxy/src/imo2skype/buddylist.h
diff options
context:
space:
mode:
Diffstat (limited to '!NotAdopted/IMO2sProxy/src/imo2skype/buddylist.h')
-rw-r--r--!NotAdopted/IMO2sProxy/src/imo2skype/buddylist.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/!NotAdopted/IMO2sProxy/src/imo2skype/buddylist.h b/!NotAdopted/IMO2sProxy/src/imo2skype/buddylist.h
new file mode 100644
index 0000000000..3774ef3e5e
--- /dev/null
+++ b/!NotAdopted/IMO2sProxy/src/imo2skype/buddylist.h
@@ -0,0 +1,28 @@
+#include "cJSON.h"
+#include "memlist.h"
+
+struct tag_nickentry;
+typedef struct tag_nickentry NICKENTRY;
+
+struct tag_nickentry
+{
+ char *pszUser;
+ char *pszStatusText;
+ char szStatus[16];
+ char *pszAlias;
+ char *pszDisplay; // Display name, on Groupchat it is topic
+ int iBuddyStatus;
+ TYP_LIST *hGCMembers; // List of groupchat members, if this is a groupchat
+ NICKENTRY *pGroup; // Uplink to Chatgroup, if Groupchat-Member
+};
+
+TYP_LIST *BuddyList_Init(void);
+void BuddyList_Exit(TYP_LIST *hList);
+
+BOOL BuddyList_Insert(TYP_LIST *hList, cJSON *pNick);
+BOOL BuddyList_AddTemporaryUser(TYP_LIST *hList, char *pszUser);
+BOOL BuddyList_Remove(TYP_LIST *hList, NICKENTRY *pEntry);
+NICKENTRY *BuddyList_Find(TYP_LIST *hList, char *pszUser);
+BOOL BuddyList_SetStatus(TYP_LIST *hList, cJSON *pNick);
+void BuddyList_FreeEntry(NICKENTRY *pEntry, BOOL bFreeGC);
+#define BuddyList_IsGroupchat(pEntry) (pEntry->hGCMembers!=NULL)