Mercurial > pidgin.yaz
view libpurple/protocols/novell/nmconference.h @ 25978:ae2b4394fbe2
propagate from branch 'im.pidgin.pidgin' (head 431618de0f30a6938f7e14d2d61ee5d7738acd59)
to branch 'im.pidgin.cpw.malu.client_type' (head a9b32a46f44ffe217f92a67f05d9f80dd21f6a9e)
author | Marcus Lundblad <ml@update.uu.se> |
---|---|
date | Mon, 02 Mar 2009 21:25:59 +0000 |
parents | 44b4e8bd759b |
children |
line wrap: on
line source
/* * nmconference.h * * Copyright (c) 2004 Novell, Inc. All Rights Reserved. * * 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; version 2 of the License. * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA * */ #ifndef __NM_CONFERENCE_H__ #define __NM_CONFERENCE_H__ typedef struct _NMConference NMConference; #include "nmuserrecord.h" /* A blank GUID -- represents an uninstatiated conference */ #define BLANK_GUID "[00000000-00000000-00000000-0000-0000]" /* This is how much of the conference GUIDs to compare when testing * to see if two conferences are the same. We cannot compare the * entire GUID because the last part is the session count. */ #define CONF_GUID_END 27 /** * Creates an conference object. * * The conference should be released by calling * nm_release_conference * * @param guid The GUID for the conference. * * @return The new NMConference */ NMConference *nm_create_conference(const char *guid); /** * Increments the reference count for the conference. * * The reference to the conference should be released * by calling nm_release_conference * * @param conference The conference to reference */ void nm_conference_add_ref(NMConference * conference); /** * Releases the resources associated with the conference * if there are no more references to it, otherwise just * decrements the reference count. * * @param conf The conference to release * */ void nm_release_conference(NMConference * conf); /** * Set the GUID for the conference. * * @param conference The conference * @param guid The new conference GUID * */ void nm_conference_set_guid(NMConference * conference, const char *guid); /** * Return the GUID for the conference. * * @param conference The conference * * @return The GUID for the conference */ const char *nm_conference_get_guid(NMConference * conference); /** * Add a participant to the conference. * * @param conference The conference * @param user_record The user record to add as a participant * * @return */ void nm_conference_add_participant(NMConference * conference, NMUserRecord * user_record); /** * Remove a participant to the conference. * * @param conference The conference * @param dn The dn of the participant to remove * */ void nm_conference_remove_participant(NMConference * conference, const char *dn); /** * Return the total number of participants in the conference. * * @param conference The conference * * @return The number of participants for the conference * */ int nm_conference_get_participant_count(NMConference * conference); /** * Return a participant given an index. * * @param conference The conference * @param index The index of the participant to get * * @return The participant or NULL if the index is out of range. * */ NMUserRecord *nm_conference_get_participant(NMConference * conference, int index); /** * Check to see if the conference has been instantiated * * @param conference The conference * * @return TRUE if the conference has been instantiated, * FALSE otherwise. * */ gboolean nm_conference_is_instantiated(NMConference * conf); /** * Set the flags for the conference. * * @param conference The conference * @param flags The conference flags. * */ void nm_conference_set_flags(NMConference * conference, guint32 flags); /** * Set the user defined data for the conference. * * @param conference The conference * @param data User defined data * */ void nm_conference_set_data(NMConference * conference, gpointer data); /** * Get the user defined data for the conference. * * @param conference The conference * * @return The data if it has been set, NULL otherwise. * */ gpointer nm_conference_get_data(NMConference * conference); #endif