/* * Copyright (c) 2010-2019 Belledonne Communications SARL. * * This file is part of Liblinphone. * * 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 3 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, see . */ /* * That file declares functions that are used by automatic API wrapper generators. These * should not be used by C API users. */ #ifndef _WRAPPER_UTILS_H #define _WRAPPER_UTILS_H #include #include "linphone/defs.h" #include "linphone/types.h" #ifdef __cplusplus extern "C" { #endif /** * @addtogroup wrapper * @{ */ /** * @brief Gets the list of listener in the core. * @param lc The #LinphoneCore. * @return The list of #LinphoneCoreCbs. * @donotwrap */ LINPHONE_PUBLIC bctbx_list_t *linphone_core_get_callbacks_list(const LinphoneCore *lc); /** * @brief Gets the list of listener in the call. * @param[in] call #LinphoneCall object. * @return The list of #LinphoneCallCbs. * @donotwrap */ LINPHONE_PUBLIC const bctbx_list_t *linphone_call_get_callbacks_list(const LinphoneCall *call); /** * @brief Gets the list of listener in the chat room. * @param[in] cr #LinphoneChatRoom object. * @return The list of #LinphoneChatRoomCbs. * @donotwrap */ LINPHONE_PUBLIC const bctbx_list_t *linphone_chat_room_get_callbacks_list(const LinphoneChatRoom *cr); /** * Sets the current LinphoneChatRoomCbs. * @param[in] cr LinphoneChatRoom object * @param[in] cbs LinphoneChatRoomCbs object * @donotwrap */ LINPHONE_PUBLIC void linphone_chat_room_set_current_callbacks(LinphoneChatRoom *cr, LinphoneChatRoomCbs *cbs); /** * @brief Gets the list of listener in the chat mesasge. * @param[in] msg #LinphoneChatMessage object. * @return The list of #LinphoneChatMessageCbs. * @donotwrap */ LINPHONE_PUBLIC const bctbx_list_t *linphone_chat_message_get_callbacks_list(const LinphoneChatMessage *msg); /** * Sets the current LinphoneChatMessageCbs. * @param[in] msg LinphoneChatMessage object * @param[in] cbs LinphoneChatMessageCbs object * @donotwrap */ LINPHONE_PUBLIC void linphone_chat_message_set_current_callbacks(LinphoneChatMessage *msg, LinphoneChatMessageCbs *cbs); /** * Send a message to peer member of this chat room. * * The state of the sending message will be notified via the callbacks defined in the #LinphoneChatMessageCbs object that can be obtained * by calling linphone_chat_message_get_callbacks(). * @note Unlike linphone_chat_room_send_chat_message(), that function only takes a reference on the #LinphoneChatMessage * instead of totaly takes ownership on it. Thus, the #LinphoneChatMessage object must be released by the API user after calling * that function. * * @param[in] cr A chat room. * @param[in] msg The message to send. */ LINPHONE_PUBLIC void linphone_chat_room_send_chat_message_2(LinphoneChatRoom *cr, LinphoneChatMessage *msg); /** * Resend a chat message if it is in the 'not delivered' state for whatever reason. * @note Unlike linphone_chat_message_resend(), that function only takes a reference on the #LinphoneChatMessage * instead of totaly takes ownership on it. Thus, the #LinphoneChatMessage object must be released by the API user after calling * that function. * * @param[in] msg #LinphoneChatMessage object */ LINPHONE_PUBLIC void linphone_chat_message_resend_2(LinphoneChatMessage *msg); /** * Accessor for the shared_ptr<BelCard> stored by a #LinphoneVcard */ LINPHONE_PUBLIC void *linphone_vcard_get_belcard(LinphoneVcard *vcard); /** * Allow multipart on a basic chat room * @donotwrap */ LINPHONE_PUBLIC void linphone_chat_room_allow_multipart(LinphoneChatRoom *room); /** * Allow cpim on a basic chat room * @donotwrap */ LINPHONE_PUBLIC void linphone_chat_room_allow_cpim(LinphoneChatRoom *room); /** * @} */ #ifdef __cplusplus } #endif #endif // _WRAPPER_UTILS_H