1 /*!
2  * \file        sccp_conference.h
3  * \brief       SCCP Conference Header
4  * \author
5  * \note        This program is free software and may be modified and distributed under the terms of the GNU Public License.
6  *              See the LICENSE file at the top of the source tree.
7  */
8 #pragma once
9 
10 #include "sccp_cli.h"
11 
12 #define sccp_conference_retain(_x)		sccp_refcount_retain_type(sccp_conference_t, _x)
13 #define sccp_conference_release(_x)		sccp_refcount_release_type(sccp_conference_t, _x)
14 #define sccp_conference_refreplace(_x, _y)	sccp_refcount_refreplace_type(sccp_conference_t, _x, _y)
15 
16 __BEGIN_C_EXTERN__
17 /* prototype definitions */
18 SCCP_API void SCCP_CALL sccp_conference_module_start(void);
19 SCCP_API void SCCP_CALL sccp_conference_module_stop(void);
20 SCCP_API sccp_conference_t * SCCP_CALL sccp_conference_create(devicePtr device, channelPtr channel);
21 SCCP_API boolean_t SCCP_CALL sccp_conference_addParticipatingChannel(conferencePtr conference, constChannelPtr conferenceSCCPChannel, constChannelPtr originalSCCPChannel, PBX_CHANNEL_TYPE * pbxChannel);
22 SCCP_API void SCCP_CALL sccp_conference_resume(conferencePtr conference);
23 SCCP_API void SCCP_CALL sccp_conference_start(conferencePtr conference);
24 SCCP_API void SCCP_CALL sccp_conference_update(constConferencePtr conference);
25 SCCP_API void SCCP_CALL sccp_conference_end(sccp_conference_t * conference);							/* explicit release */
26 SCCP_API void SCCP_CALL sccp_conference_hold(conferencePtr conference);
27 
28 /* conf list related */
29 SCCP_API void SCCP_CALL sccp_conference_show_list(constConferencePtr conference, constChannelPtr channel);
30 SCCP_API void SCCP_CALL sccp_conference_hide_list_ByDevice(constDevicePtr device);
31 SCCP_API void SCCP_CALL sccp_conference_handle_device_to_user(devicePtr d, uint32_t callReference, uint32_t transactionID, uint32_t conferenceID, uint32_t participantID);
32 
33 /* cli functions */
34 SCCP_API char * SCCP_CALL sccp_complete_conference(OLDCONST char *line, OLDCONST char *word, int pos, int state);
35 SCCP_API int SCCP_CALL sccp_cli_show_conferences(int fd, sccp_cli_totals_t *totals, struct mansession *s, const struct message *m, int argc, char *argv[]);
36 SCCP_API int SCCP_CALL sccp_cli_show_conference(int fd, sccp_cli_totals_t *totals, struct mansession *s, const struct message *m, int argc, char *argv[]);
37 SCCP_API int SCCP_CALL sccp_cli_conference_command(int fd, sccp_cli_totals_t *totals, struct mansession *s, const struct message *m, int argc, char *argv[]);
38 __END_C_EXTERN__
39 // kate: indent-width 8; replace-tabs off; indent-mode cstyle; auto-insert-doxygen on; line-numbers on; tab-indents on; keep-extra-spaces off; auto-brackets off;
40