Mercurial > pidgin
view src/protocols/msn/group.h @ 8380:4a5b36510665
[gaim-migrate @ 9108]
Just a minor WYSIWYG fix; now the grow and shrink buttons work properly.
Also, the CSS standard says that each font size should be 1.2 times the size
of the next smallest, and W3C tends to be smart about these things, so I did
that. Also, timestamps are once again size=2, which I think looks better.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Mon, 01 Mar 2004 20:52:57 +0000 |
parents | b7e113a59b51 |
children | 06f57183e29f |
line wrap: on
line source
/** * @file group.h Group functions * * gaim * * Copyright (C) 2003 Christian Hammond <chipx86@gnupdate.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _MSN_GROUP_H_ #define _MSN_GROUP_H_ typedef struct _MsnGroup MsnGroup; typedef struct _MsnGroups MsnGroups; #include <stdio.h> #include "session.h" #include "user.h" /** * A group. */ struct _MsnGroup { size_t ref_count; /**< The reference count. */ MsnSession *session; /**< The MSN session. */ int id; /**< The group ID. */ char *name; /**< The name of the group. */ MsnUsers *users; /**< The users in the group. */ }; /** * A list of groups. */ struct _MsnGroups { size_t count; /**< The number of groups. */ GList *groups; /**< The list of groups. */ }; /**************************************************************************/ /** @name Group API */ /**************************************************************************/ /*@{*/ /** * Creates a new group structure. * * @param session The MSN session. * @param id The group ID. * @param name The name of the group. * * @return A new group structure. */ MsnGroup *msn_group_new(MsnSession *session, int id, const char *name); /** * Destroys a group structure. * * @param group The group to destroy. */ void msn_group_destroy(MsnGroup *group); /** * Increments the reference count on a group. * * @param group The group. * * @return @a group */ MsnGroup *msn_group_ref(MsnGroup *group); /** * Decrements the reference count on a group. * * This will destroy the structure if the count hits 0. * * @param group The group. * * @return @a group, or @c NULL if the new count is 0. */ MsnGroup *msn_group_unref(MsnGroup *group); /** * Sets the ID for a group. * * @param group The group. * @param id The ID. */ void msn_group_set_id(MsnGroup *group, int id); /** * Sets the name for a group. * * @param group The group. * @param name The name. */ void msn_group_set_name(MsnGroup *group, const char *name); /** * Returns the ID for a group. * * @param group The group. * * @return The ID. */ int msn_group_get_id(const MsnGroup *group); /** * Returns the name for a group. * * @param group The group. * * @return The name. */ const char *msn_group_get_name(const MsnGroup *group); /** * Adds a user to the group. * * @param group The group. * @param user The user. */ void msn_group_add_user(MsnGroup *group, MsnUser *user); /** * Removes a user from the group. * * @param group The group. * @param user The user. */ void msn_group_remove_user(MsnGroup *group, MsnUser *user); /** * Returns the users in a group. * * @param group The group. * * @return The list of users. */ MsnUsers *msn_group_get_users(const MsnGroup *group); /*@}*/ /**************************************************************************/ /** @name Group List API */ /**************************************************************************/ /*@{*/ /** * Creates a new MsnGroups structure. * * @return A new MsnGroups structure. */ MsnGroups *msn_groups_new(void); /** * Destroys a groups list. * * @param groups The groups list. */ void msn_groups_destroy(MsnGroups *groups); /** * Adds a group to a groups list. * * @param groups The groups list. * @param group The group. */ void msn_groups_add(MsnGroups *groups, MsnGroup *group); /** * Removes a group from a groups list. * * @param groups The groups list. * @param group The group. */ void msn_groups_remove(MsnGroups *groups, MsnGroup *group); /** * Returns the number of groups in a groups list. * * @param groups The groups list. * * @return The number of groups. */ size_t msn_groups_get_count(const MsnGroups *groups); /** * Finds a group with the specified ID. * * @param groups A list of groups. * @param id The group ID. * * @return The group if found, or @c NULL otherwise. */ MsnGroup *msn_groups_find_with_id(MsnGroups *groups, int id); /** * Returns a GList of all groups. * * @param groups The list of groups. * * @return A GList of all groups. */ GList *msn_groups_get_list(const MsnGroups *groups); /** * Finds a group with the specified name. * * @param groups A list of groups. * @param name The group name. * * @return The group if found, or @c NULL otherwise. */ MsnGroup *msn_groups_find_with_name(MsnGroups *groups, const char *name); #endif /* _MSN_GROUP_H_ */