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