core cleanup: sipe-csta module is purple free
[siplcs.git] / src / core / sipe-conf.h
blobe722a16b2e4c2287edba010a54355e2f75ef705d
1 /**
2 * @file sipe-conf.h
4 * pidgin-sipe
6 * Copyright (C) 2009 pier11 <pier11@operamail.com>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 * Interface dependencies:
26 * <glib.h>
29 /* Forward declarations */
30 struct sipmsg;
31 struct sip_session;
32 struct sipe_account_data;
34 /**
35 * Creates conference.
37 void
38 sipe_conf_add(struct sipe_account_data *sip,
39 const gchar* who);
41 /**
42 * Processes incoming INVITE with
43 * Content-Type: application/ms-conf-invite+xml
44 * i.e. invitation to join conference.
46 * Server 2007+ functionality.
48 void
49 process_incoming_invite_conf(struct sipe_account_data *sip,
50 struct sipmsg *msg);
52 /** Invite us to the focus */
53 void
54 sipe_invite_conf_focus(struct sipe_account_data *sip,
55 struct sip_session *session);
57 /**
58 * Process of conference state
59 * Content-Type: application/conference-info+xml
61 void
62 sipe_process_conference(struct sipe_account_data *sip,
63 struct sipmsg * msg);
65 /**
66 * Invites counterparty to join conference.
67 */
68 void
69 sipe_invite_conf(struct sipe_account_data *sip,
70 struct sip_session *session,
71 const gchar* who);
73 /**
74 * Modify User Role.
75 * Sends request to Focus.
76 * INFO method is a carrier of application/cccp+xml
77 */
78 void
79 sipe_conf_modify_user_role(struct sipe_account_data *sip,
80 struct sip_session *session,
81 const gchar* who);
83 /**
84 * Modify Conference Lock.
85 * Sends request to Focus.
86 * INFO method is a carrier of application/cccp+xml
87 */
88 void
89 sipe_conf_modify_conference_lock(struct sipe_account_data *sip,
90 struct sip_session *session,
91 const gboolean locked);
93 /**
94 * Ejects user from conference.
95 * Sends request to Focus.
96 * INFO method is a carrier of application/cccp+xml
97 */
98 void
99 sipe_conf_delete_user(struct sipe_account_data *sip,
100 struct sip_session *session,
101 const gchar* who);
103 /**
104 * Invokes when we are ejected from conference
105 * for example or conference has been timed out.
107 void
108 sipe_conf_immcu_closed(struct sipe_account_data *sip,
109 struct sip_session *session);
111 /**
112 * Invokes when we leave conversation.
113 * Usually by closing chat wingow.
115 void
116 conf_session_close(struct sipe_account_data *sip,
117 struct sip_session *session);
119 /**
120 * Invoked to process message delivery notification
121 * in conference.
123 void
124 sipe_process_imdn(struct sipe_account_data *sip,
125 struct sipmsg *msg);