linphone-ios/include/linphone/misc.h

174 lines
5.3 KiB
C

/*
misc.h
Copyright (C) 2010-2017 Belledonne Communications SARL
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 2
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, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#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.
*/
LINPHONE_PUBLIC 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);
/**
* 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);
#ifdef __cplusplus
}
#endif
#endif /* LINPHONE_MISC_H_ */