/*
|
* 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 <http://www.gnu.org/licenses/>.
|
*/
|
|
#ifndef LINPHONE_MISC_H_
|
#define LINPHONE_MISC_H_
|
|
|
#include "linphone/types.h"
|
|
|
#ifdef __cplusplus
|
extern "C" {
|
#endif
|
|
|
/**
|
* Lowest volume measurement that can be returned by linphone_call_get_play_volume() or linphone_call_get_record_volume(), corresponding to pure silence.
|
* @ingroup call_misc
|
**/
|
#define LINPHONE_VOLUME_DB_LOWEST (-120) /* WARNING: keep this in sync with mediastreamer2/msvolume.h */
|
|
|
/**
|
* Disable a sip transport
|
* Use with #LinphoneSipTransports
|
* @ingroup initializing
|
*/
|
#define LC_SIP_TRANSPORT_DISABLED 0
|
/**
|
* Randomly chose a sip port for this transport
|
* Use with #LinphoneSipTransports
|
* @ingroup initializing
|
*/
|
#define LC_SIP_TRANSPORT_RANDOM (-1)
|
|
/**
|
* Don't create any server socket for this transport, ie don't bind on any port.
|
* Use with #LinphoneSipTransports
|
* @ingroup initializing
|
**/
|
#define LC_SIP_TRANSPORT_DONTBIND (-2)
|
|
|
/**
|
* Function returning a human readable value for LinphoneStreamType.
|
* @ingroup initializing
|
**/
|
LINPHONE_PUBLIC const char *linphone_stream_type_to_string(const LinphoneStreamType);
|
|
/**
|
* Human readable version of the #LinphoneRegistrationState
|
* @param cs sate
|
* @ingroup proxies
|
*/
|
LINPHONE_PUBLIC const char *linphone_registration_state_to_string(LinphoneRegistrationState cs);
|
|
/**
|
* Convert enum member to string.
|
* @ingroup media_parameters
|
**/
|
LINPHONE_PUBLIC const char *linphone_media_encryption_to_string(LinphoneMediaEncryption menc);
|
|
LINPHONE_PUBLIC const char* linphone_privacy_to_string(LinphonePrivacy privacy);
|
|
LINPHONE_PUBLIC const char *linphone_subscription_state_to_string(LinphoneSubscriptionState state);
|
|
LINPHONE_PUBLIC const char *linphone_publish_state_to_string(LinphonePublishState state);
|
|
LINPHONE_PUBLIC const char *linphone_ice_state_to_string(LinphoneIceState state);
|
|
LINPHONE_PUBLIC const char *linphone_global_state_to_string(LinphoneGlobalState gs);
|
|
LINPHONE_PUBLIC const char *linphone_core_log_collection_upload_state_to_string(const LinphoneCoreLogCollectionUploadState lcus);
|
|
LINPHONE_PUBLIC const char *linphone_call_state_to_string(LinphoneCallState cs);
|
|
/**
|
* Converts a _LinphoneConfiguringState enum to a string.
|
* @ingroup misc
|
**/
|
LINPHONE_PUBLIC const char *linphone_configuring_state_to_string(LinphoneConfiguringState cs);
|
|
/**
|
* Returns a #LinphoneChatMessageState as a string.
|
*/
|
LINPHONE_PUBLIC const char* linphone_chat_message_state_to_string(const LinphoneChatMessageState state);
|
|
/**
|
* Converts a #LinphoneReason enum to a string.
|
* @param[in] err A #LinphoneReason
|
* @return The string representation of the specified #LinphoneReason
|
* @ingroup misc
|
**/
|
LINPHONE_PUBLIC const char *linphone_reason_to_string(LinphoneReason err);
|
|
/**
|
* Return humain readable presence status
|
* @param ss
|
* @deprecated Use #LinphonePresenceModel, #LinphonePresenceActivity and linphone_presence_activity_to_string() instead.
|
* @donotwrap
|
*/
|
LINPHONE_PUBLIC LINPHONE_DEPRECATED const char *linphone_online_status_to_string(LinphoneOnlineStatus ss);
|
|
/**
|
* Convert a string into #LinphoneTunnelMode enum
|
* @param string String to convert
|
* @return An #LinphoneTunnelMode enum. If the passed string is NULL or
|
* does not match with any mode, the #LinphoneTunnelModeDisable is returned.
|
*/
|
LINPHONE_PUBLIC LinphoneTunnelMode linphone_tunnel_mode_from_string(const char *string);
|
|
/**
|
* Convert a tunnel mode enum into string
|
* @param mode Enum to convert
|
* @return "disable", "enable" or "auto"
|
*/
|
LINPHONE_PUBLIC const char *linphone_tunnel_mode_to_string(LinphoneTunnelMode mode);
|
|
/**
|
* Check whether Matroksa format is supported by the player
|
* @return TRUE if it is supported
|
*/
|
LINPHONE_PUBLIC bool_t linphone_local_player_matroska_supported(void);
|
|
/**
|
* Converts a #LinphoneTransportType enum to a lowercase string.
|
* @ingroup misc
|
**/
|
LINPHONE_PUBLIC const char* linphone_transport_to_string(LinphoneTransportType transport);
|
|
/**
|
* Converts a lowercase string to a #LinphoneTransportType enum.
|
* @ingroup misc
|
* @return Transport matching input, or #LinphoneTransportUdp if nothing is found
|
**/
|
LINPHONE_PUBLIC LinphoneTransportType linphone_transport_parse(const char* transport);
|
|
/**
|
* Check whether an error code is in Retry-After field.
|
* @param[in] err An error code
|
* @return TRUE if it is in Retry-After field
|
* @ingroup misc
|
**/
|
LINPHONE_PUBLIC bool_t linphone_error_code_is_retry_after(int err);
|
|
/**
|
* Converts an error code to a LinphoneReason.
|
* @param[in] err An error code
|
* @return The #LinphoneReason corresponding to the specified error code
|
* @ingroup misc
|
**/
|
LINPHONE_PUBLIC LinphoneReason linphone_error_code_to_reason(int err);
|
|
/**
|
* Converts a #LinphoneReason to an error code.
|
* @param[in] reason A #LinphoneReason
|
* @return The error code corresponding to the specified #LinphoneReason
|
* @ingroup misc
|
*/
|
LINPHONE_PUBLIC int linphone_reason_to_error_code(LinphoneReason reason);
|
|
/**
|
* Increment refcount.
|
* @param[in] range #LinphoneRange object
|
* @ingroup misc
|
**/
|
LINPHONE_PUBLIC LinphoneRange *linphone_range_ref(LinphoneRange *range);
|
|
/**
|
* Decrement refcount and possibly free the object.
|
* @param[in] range #LinphoneRange object
|
* @ingroup misc
|
**/
|
LINPHONE_PUBLIC void linphone_range_unref(LinphoneRange *range);
|
|
/**
|
* Gets the user data in the #LinphoneRange object
|
* @param[in] range the #LinphoneRange
|
* @return the user data
|
* @ingroup misc
|
*/
|
LINPHONE_PUBLIC void *linphone_range_get_user_data(const LinphoneRange *range);
|
|
/**
|
* Sets the user data in the #LinphoneRange object
|
* @param[in] range the #LinphoneRange object
|
* @param[in] data the user data
|
* @ingroup misc
|
*/
|
LINPHONE_PUBLIC void linphone_range_set_user_data(LinphoneRange *range, void *data);
|
|
/**
|
* Gets the lower value of the range
|
* @param[in] range a #LinphoneRange
|
* @return The lower value
|
* @ingroup misc
|
*/
|
LINPHONE_PUBLIC int linphone_range_get_min(const LinphoneRange *range);
|
|
/**
|
* Gets the higher value of the range
|
* @param[in] range a #LinphoneRange
|
* @return The higher value
|
* @ingroup misc
|
*/
|
LINPHONE_PUBLIC int linphone_range_get_max(const LinphoneRange *range);
|
|
/**
|
* Sets the lower value of the range
|
* @param[in] range a #LinphoneRange
|
* @param[in] min the value to set
|
* @ingroup misc
|
*/
|
LINPHONE_PUBLIC void linphone_range_set_min(LinphoneRange *range, int min);
|
|
/**
|
* Sets the higher value of the range
|
* @param[in] range a #LinphoneRange
|
* @param[in] max the value to set
|
* @ingroup misc
|
*/
|
LINPHONE_PUBLIC void linphone_range_set_max(LinphoneRange *range, int max);
|
|
|
#ifdef __cplusplus
|
}
|
#endif
|
|
#endif /* LINPHONE_MISC_H_ */
|