diff -r 4b2c27ae504a -r 788b20ccec91 src/protocols/sametime/meanwhile/mw_st_list.h --- a/src/protocols/sametime/meanwhile/mw_st_list.h Fri Dec 16 03:34:01 2005 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,200 +0,0 @@ - -/* - Meanwhile - Unofficial Lotus Sametime Community Client Library - Copyright (C) 2004 Christopher (siege) O'Brien - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#ifndef _MW_ST_LIST_H -#define _MW_ST_LIST_H - - -#include -#include -#include "mw_common.h" - - -#define ST_LIST_MAJOR 3 -#define ST_LIST_MINOR 1 -#define ST_LIST_MICRO 3 - - -enum mwSametimeGroupType { - mwSametimeGroup_NORMAL = 1, /**< a normal group of users */ - mwSametimeGroup_DYNAMIC = 2, /**< a server-side group */ - mwSametimeGroup_UNKNOWN = 0, /**< error determining group type */ -}; - - -enum mwSametimeUserType { - mwSametimeUser_NORMAL = 1, /**< user on same community */ - mwSametimeUser_EXTERNAL = 2, /**< external user */ - mwSametimeUser_UNKNOWN = 0, /**< error determining user type */ -}; - - -/** @struct mwSametimeList - - Represents a group-based buddy list. */ -struct mwSametimeList; - - -/** @struct mwSametimeGroup - - Represents a group in a buddy list */ -struct mwSametimeGroup; - - -/** @struct mwSametimeUser - - Represents a user in a group in a buddy list */ -struct mwSametimeUser; - - -/** Create a new list */ -struct mwSametimeList *mwSametimeList_new(void); - - -/** Free the list, all of its groups, and all of the groups' members */ -void mwSametimeList_free(struct mwSametimeList *l); - - -/** Load a sametime list from a buffer. The list must be encapsulated - as a string (eg, the first two bytes in the buffer should be the - length of the string) */ -void mwSametimeList_get(struct mwGetBuffer *b, struct mwSametimeList *l); - - -/** Write a sametime list onto a buffer. The list will be encapsulated - in a string (the first two bytes written will be the length of the - rest of the written list data) */ -void mwSametimeList_put(struct mwPutBuffer *b, struct mwSametimeList *l); - - -/** convert a plain string into a sametime list */ -struct mwSametimeList *mwSametimeList_load(const char *str); - - -/** convert a sametime list into a string */ -char *mwSametimeList_store(struct mwSametimeList *l); - - -void mwSametimeList_setMajor(struct mwSametimeList *l, guint v); - - -guint mwSametimeList_getMajor(struct mwSametimeList *l); - - -void mwSametimeList_setMinor(struct mwSametimeList *l, guint v); - - -guint mwSametimeList_getMinor(struct mwSametimeList *l); - - -void mwSametimeList_setMicro(struct mwSametimeList *l, guint v); - - -guint mwSametimeList_getMicro(struct mwSametimeList *l); - - -/** Get a GList snapshot of the groups in a list */ -GList *mwSametimeList_getGroups(struct mwSametimeList *l); - - -struct mwSametimeGroup * -mwSametimeList_findGroup(struct mwSametimeList *l, - const char *name); - - -/** Create a new group in a list */ -struct mwSametimeGroup * -mwSametimeGroup_new(struct mwSametimeList *l, - enum mwSametimeGroupType type, - const char *name); - - -/** Remove a group from its list, and free it. Also frees all users - contained in the group */ -void mwSametimeGroup_free(struct mwSametimeGroup *g); - - -enum mwSametimeGroupType mwSametimeGroup_getType(struct mwSametimeGroup *g); - - -const char *mwSametimeGroup_getName(struct mwSametimeGroup *g); - - -void mwSametimeGroup_setAlias(struct mwSametimeGroup *g, - const char *alias); - - -const char *mwSametimeGroup_getAlias(struct mwSametimeGroup *g); - - -void mwSametimeGroup_setOpen(struct mwSametimeGroup *g, gboolean open); - - -gboolean mwSametimeGroup_isOpen(struct mwSametimeGroup *g); - - -struct mwSametimeList *mwSametimeGroup_getList(struct mwSametimeGroup *g); - - -/** Get a GList snapshot of the users in a list */ -GList *mwSametimeGroup_getUsers(struct mwSametimeGroup *g); - - -struct mwSametimeUser * -mwSametimeGroup_findUser(struct mwSametimeGroup *g, - struct mwIdBlock *user); - - -/** Create a user in a group */ -struct mwSametimeUser * -mwSametimeUser_new(struct mwSametimeGroup *g, - enum mwSametimeUserType type, - struct mwIdBlock *user); - - -/** Remove user from its group, and free it */ -void mwSametimeUser_free(struct mwSametimeUser *u); - - -struct mwSametimeGroup *mwSametimeUser_getGroup(struct mwSametimeUser *u); - - -enum mwSametimeUserType mwSametimeUser_getType(struct mwSametimeUser *u); - - -const char *mwSametimeUser_getUser(struct mwSametimeUser *u); - - -const char *mwSametimeUser_getCommunity(struct mwSametimeUser *u); - - -void mwSametimeUser_setShortName(struct mwSametimeUser *u, const char *name); - - -const char *mwSametimeUser_getShortName(struct mwSametimeUser *u); - - -void mwSametimeUser_setAlias(struct mwSametimeUser *u, const char *alias); - - -const char *mwSametimeUser_getAlias(struct mwSametimeUser *u); - - -#endif