From 6a99d9bf65aa5878cb409945ed2bdbdcb916d047 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期五, 02 九月 2022 14:56:40 +0800
Subject: [PATCH] 更新linphone sdk
---
Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/linphone.framework/Headers/types.h | 703 ++++++++++++++++++++++++++++++----------------------------
1 files changed, 367 insertions(+), 336 deletions(-)
diff --git a/Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/linphone.framework/Headers/types.h b/Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/linphone.framework/Headers/types.h
old mode 100644
new mode 100755
index 5b62a90..7c415da
--- a/Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/linphone.framework/Headers/types.h
+++ b/Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/linphone.framework/Headers/types.h
@@ -29,27 +29,50 @@
// For migration purpose.
#include "linphone/api/c-types.h"
+// -----------------------------------------------------------------------------
+// Account creator.
+// -----------------------------------------------------------------------------
+
/**
- * The #LinphoneAccountCreator object used to configure an account on a server via XML-RPC.
+ * @brief Represents an account configuration to be used by #LinphoneCore.
+ *
+ * In addition to the #LinphoneAuthInfo that stores the credentials,
+ * you need to configure a #LinphoneProxyConfig as well to be able to connect to a proxy server.
+ *
+ * A minimal proxy config consists of an identity address (sip:username@domain.tld)
+ * and the proxy server address, @see linphone_proxy_config_set_server_addr().
+ *
+ * If any, it will be stored inside the default configuration file, so it will survive the destruction
+ * of the #LinphoneCore and be available at the next start.
+ *
+ * The account set with linphone_core_set_default_proxy_config() will be used as default
+ * for outgoing calls & chat messages unless specified otherwise.
+ * @ingroup proxies
+**/
+typedef struct _LinphoneProxyConfig LinphoneProxyConfig;
+
+/**
+ * @brief The object used to configure an account on a server via XML-RPC,
+ * see @link https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Features/Override%20account%20creator%20request/
* @ingroup account_creator
**/
typedef struct _LinphoneAccountCreator LinphoneAccountCreator;
/**
- * An object to define a #LinphoneAccountCreator service.
+ * @brief An object to define a LinphoneAccountCreator service.
* @ingroup account_creator
* @donotwrap
**/
typedef struct _LinphoneAccountCreatorService LinphoneAccountCreatorService;
/**
- * An object to handle the responses callbacks for handling the #LinphoneAccountCreator operations.
+ * @brief An object to handle the responses callbacks for handling the #LinphoneAccountCreator operations.
* @ingroup account_creator
**/
typedef struct _LinphoneAccountCreatorCbs LinphoneAccountCreatorCbs;
/**
- * Enum describing Phone number checking.
+ * @brief Enum describing phone number checking, used by the #LinphoneAccountCreator.
* @ingroup account_creator
**/
typedef enum _LinphoneAccountCreatorPhoneNumberStatus {
@@ -61,13 +84,13 @@
} LinphoneAccountCreatorPhoneNumberStatus;
/**
- * A mask of #LinphoneAccountCreatorPhoneNumberStatus values
+ * @brief A mask of #LinphoneAccountCreatorPhoneNumberStatus values.
* @ingroup account_creator
*/
typedef unsigned int LinphoneAccountCreatorPhoneNumberStatusMask;
/**
- * Enum describing Username checking.
+ * @brief Enum describing username checking, used by the #LinphoneAccountCreator.
* @ingroup account_creator
**/
typedef enum _LinphoneAccountCreatorUsernameStatus {
@@ -79,7 +102,7 @@
} LinphoneAccountCreatorUsernameStatus;
/**
- * Enum describing Email checking.
+ * @brief Enum describing email checking, used by the #LinphoneAccountCreator.
* @ingroup account_creator
**/
typedef enum _LinphoneAccountCreatorEmailStatus {
@@ -89,7 +112,7 @@
} LinphoneAccountCreatorEmailStatus;
/**
- * Enum describing Password checking.
+ * @brief Enum describing password checking, used by the #LinphoneAccountCreator.
* @ingroup account_creator
**/
typedef enum _LinphoneAccountCreatorPasswordStatus {
@@ -101,16 +124,15 @@
} LinphoneAccountCreatorPasswordStatus;
/**
- * Enum describing language checking.
+ * @brief Enum describing language checking, used by the #LinphoneAccountCreator.
* @ingroup account_creator
**/
typedef enum _LinphoneAccountCreatorLanguageStatus {
LinphoneAccountCreatorLanguageStatusOk /**< Language ok */
} LinphoneAccountCreatorLanguageStatus;
-
/**
- * Enum algorithm checking.
+ * @brief Enum describing algorithm checking, used by the #LinphoneAccountCreator.
* @ingroup account_creator
**/
typedef enum _LinphoneAccountCreatorAlgoStatus {
@@ -119,7 +141,7 @@
} LinphoneAccountCreatorAlgoStatus;
/**
- * Enum describing Activation code checking.
+ * @brief Enum describing activation code checking, used by the #LinphoneAccountCreator.
* @ingroup account_creator
**/
typedef enum _LinphoneAccountCreatorActivationCodeStatus {
@@ -130,7 +152,7 @@
} LinphoneAccountCreatorActivationCodeStatus;
/**
- * Enum describing Domain checking
+ * @brief Enum describing domain checking, used by the #LinphoneAccountCreator.
* @ingroup account_creator
**/
typedef enum _LinphoneAccountCreatorDomainStatus {
@@ -139,7 +161,7 @@
} LinphoneAccountCreatorDomainStatus;
/**
- * Enum describing Transport checking
+ * @brief Enum describing transport checking, used by the #LinphoneAccountCreator.
* @ingroup account_creator
**/
typedef enum _LinphoneAccountCreatorTransportStatus {
@@ -148,7 +170,7 @@
} LinphoneAccountCreatorTransportStatus;
/**
- * Enum describing the status of server request.
+ * @brief Enum describing the status of server request, used by the #LinphoneAccountCreator.
* @ingroup account_creator_request
**/
typedef enum _LinphoneAccountCreatorStatus {
@@ -183,81 +205,16 @@
LinphoneAccountCreatorStatusPhoneNumberInvalid, /**< Error cannot send SMS */
LinphoneAccountCreatorStatusWrongActivationCode, /**< Error key doesn't match */
LinphoneAccountCreatorStatusPhoneNumberOverused, /**< Error too many SMS sent */
- LinphoneAccountCreatorStatusAlgoNotSupported, /** < Error algo isn't MD5 or SHA-256 */
+ LinphoneAccountCreatorStatusAlgoNotSupported, /**< Error algo isn't MD5 or SHA-256 */
+ LinphoneAccountCreatorStatusUnexpectedError, /**< Generic error */
} LinphoneAccountCreatorStatus;
-/**
- * Enum describing Ip family.
- * @ingroup initializing
-**/
-typedef enum _LinphoneAddressFamily {
- LinphoneAddressFamilyInet, /**< IpV4 */
- LinphoneAddressFamilyInet6, /**< IpV6 */
- LinphoneAddressFamilyUnspec, /**< Unknown */
-} LinphoneAddressFamily;
+// -----------------------------------------------------------------------------
+// Call.
+// -----------------------------------------------------------------------------
/**
- * Enum describing type of audio route.
- * @ingroup call_control
-**/
-typedef enum _LinphoneAudioRoute {
- LinphoneAudioRouteEarpiece,
- LinphoneAudioRouteSpeaker
-} LinphoneAudioRoute;
-
-/**
- * Object holding authentication information.
- *
- * @note The object's fields should not be accessed directly. Prefer using
- * the accessor methods.
- *
- * In most case, authentication information consists of a username and password.
- * Sometimes, a userid is required by proxy, and realm can be useful to discriminate
- * different SIP domains.
- *
- * Once created and filled, a #LinphoneAuthInfo must be added to the #LinphoneCore in
- * order to become known and used automatically when needed.
- * Use linphone_core_add_auth_info() for that purpose.
- *
- * The #LinphoneCore object can take the initiative to request authentication information
- * when needed to the application through the auth_info_requested callback of the
- * #LinphoneCoreVTable structure.
- *
- * The application can respond to this information request later using
- * linphone_core_add_auth_info(). This will unblock all pending authentication
- * transactions and retry them with authentication headers.
- *
- * @ingroup authentication
-**/
-typedef struct _LinphoneAuthInfo LinphoneAuthInfo;
-
-/**
- * Enum describing the authentication methods
- * @ingroup network_parameters
-**/
-typedef enum _LinphoneAuthMethod {
- LinphoneAuthHttpDigest, /**< Digest authentication requested */
- LinphoneAuthTls, /**< Client certificate requested */
-} LinphoneAuthMethod;
-
-/**
- * Enum describing RTP AVPF activation modes.
- * @ingroup media_parameters
-**/
-typedef enum _LinphoneAVPFMode {
- LinphoneAVPFDefault = -1, /**< Use default value defined at upper level */
- LinphoneAVPFDisabled, /**< AVPF is disabled */
- LinphoneAVPFEnabled /**< AVPF is enabled */
-} LinphoneAVPFMode;
-
-/**
- * The #LinphoneContent object representing a data buffer.
- * @ingroup misc
-**/
-typedef struct _LinphoneBuffer LinphoneBuffer;
-
-/**
- * Enum representing the direction of a call.
+ * @brief Enum representing the direction of a call.
* @ingroup call_logs
**/
typedef enum _LinphoneCallDir {
@@ -266,76 +223,112 @@
} LinphoneCallDir;
/**
- * Structure representing a call log.
- * @ingroup call_logs
-**/
-typedef struct _LinphoneCallLog LinphoneCallLog;
-
-/**
- * The #LinphoneCallParams is an object containing various call related parameters.
- * It can be used to retrieve parameters from a currently running call or modify
- * the call's characteristics dynamically.
- * @ingroup call_control
-**/
-typedef struct _LinphoneCallParams LinphoneCallParams;
-
-/**
- * The #LinphoneCallStats objects carries various statistic informations regarding quality of audio or video streams.
+ * @brief This object carry various statistic informations regarding the quality of an audio or video stream for a given #LinphoneCall.
*
- * To receive these informations periodically and as soon as they are computed, the application is invited to place a #LinphoneCoreCallStatsUpdatedCb callback in the #LinphoneCoreVTable structure
- * it passes for instanciating the #LinphoneCore object (see linphone_core_new() ).
+ * To receive these informations periodically and as soon as they are computed,
+ * implement the call_stats_updated() callback inside a #LinphoneCoreCbs.
*
- * At any time, the application can access last computed statistics using linphone_call_get_audio_stats() or linphone_call_get_video_stats().
+ * At any time, the application can access latest computed statistics using linphone_call_get_audio_stats() and linphone_call_get_video_stats().
* @ingroup call_misc
**/
typedef struct _LinphoneCallStats LinphoneCallStats;
/**
- * Enum representing the status of a call
+ * @brief Enum representing the status of a call.
* @ingroup call_logs
**/
typedef enum _LinphoneCallStatus {
LinphoneCallSuccess, /**< The call was sucessful */
- LinphoneCallAborted, /**< The call was aborted */
- LinphoneCallMissed, /**< The call was missed (unanswered) */
+ LinphoneCallAborted, /**< The call was aborted (caller hanged up) */
+ LinphoneCallMissed, /**< The call was missed (incoming call timed out without being answered or hanged up) */
LinphoneCallDeclined, /**< The call was declined, either locally or by remote end */
LinphoneCallEarlyAborted, /**<The call was aborted before being advertised to the application - for protocol reasons*/
LinphoneCallAcceptedElsewhere, /**<The call was answered on another device*/
LinphoneCallDeclinedElsewhere /**<The call was declined on another device*/
} LinphoneCallStatus;
-/**
- * #LinphoneConference class
- * The _LinphoneConference struct does not exists, it's the Conference C++ class that is used behind
- * @ingroup call_control
- */
-typedef struct _LinphoneConference LinphoneConference;
+// -----------------------------------------------------------------------------
+// Friends.
+// -----------------------------------------------------------------------------
/**
- * Parameters for initialization of conferences
- * The _LinphoneConferenceParams struct does not exists, it's the ConferenceParams C++ class that is used behind
- * @ingroup call_control
+ * @brief This object is used to store a SIP address.
+ *
+ * #LinphoneFriend is mainly used to implement an adressbook feature, and are used as data for the #LinphoneMagicSearch object.
+ * If your proxy supports it, you can also use it to subscribe to presence information.
+ *
+ * The objects are stored in a #LinphoneFriendList which are in turn stored inside the #LinphoneCore.
+ * They can be stored inside a database if the path to it is configured, otherwise they will be lost after the #LinphoneCore is destroyed.
+ *
+ * Thanks to the vCard plugin, you can also store more information like phone numbers, organization, etc...
+ * @ingroup buddy_list
*/
-typedef struct _LinphoneConferenceParams LinphoneConferenceParams;
+typedef struct _LinphoneFriend LinphoneFriend;
/**
- * The #LinphoneConfig object is used to manipulate a configuration file.
+* @brief Enum describing the capabilities of a #LinphoneFriend, populated through presence subscribe/notify process.
+* @ingroup buddy_list
+**/
+typedef enum _LinphoneFriendCapability {
+ LinphoneFriendCapabilityNone = 0, /**< No capabilities populated */
+ LinphoneFriendCapabilityGroupChat = 1 << 0, /**< This friend can be invited in a Flexisip backend #LinphoneChatRoom */
+ LinphoneFriendCapabilityLimeX3dh = 1 << 1, /**< This friend can be invited in a Flexisip backend end-to-end encrypted #LinphoneChatRoom */
+ LinphoneFriendCapabilityEphemeralMessages = 1 << 2 /**< This friend is able to delete ephemeral messages once they have expired */
+} LinphoneFriendCapability;
+
+/**
+ * @brief This object representing a list of #LinphoneFriend.
+ *
+ * You can use it to store contacts locally or synchronize them through CardDAV protocol.
+ * @ingroup buddy_list
+**/
+typedef struct _LinphoneFriendList LinphoneFriendList;
+
+/**
+ * @brief An object to handle the callbacks for #LinphoneFriend synchronization.
+ * @ingroup buddy_list
+**/
+typedef struct _LinphoneFriendListCbs LinphoneFriendListCbs;
+
+/**
+* @brief Enum describing the status of a LinphoneFriendList operation.
+* @ingroup buddy_list
+**/
+typedef enum _LinphoneFriendListStatus {
+ LinphoneFriendListOK, /**< Operation went fine */
+ LinphoneFriendListNonExistentFriend, /**< #LinphoneFriend wasn't found in the #LinphoneFriendList */
+ LinphoneFriendListInvalidFriend /**< #LinphoneFriend is already present in a #LinphoneFriendList */
+} LinphoneFriendListStatus;
+
+/**
+ * @brief Enum describing the status of a CardDAV synchronization.
+ * @ingroup buddy_list
+ */
+typedef enum _LinphoneFriendListSyncStatus {
+ LinphoneFriendListSyncStarted, /**< Synchronization started */
+ LinphoneFriendListSyncSuccessful, /**< Synchronization finished successfuly */
+ LinphoneFriendListSyncFailure /**< Synchronization failed */
+} LinphoneFriendListSyncStatus;
+
+// -----------------------------------------------------------------------------
+// Core.
+// -----------------------------------------------------------------------------
+
+/**
+ * @brief This object is used to manipulate a configuration file.
*
* The format of the configuration file is a .ini like format:
* - sections are defined in []
- * - each section contains a sequence of key=value pairs.
- *
- * Example:
- * @code
- * [sound]
- * echocanceler=1
- * playback_dev=ALSA: Default device
- *
- * [video]
- * enabled=1
- * @endcode
- *
- * @ingroup misc
+ * - each section contains a sequence of key=value pairs
+ * - each line starting by a # is a comment
+ *
+ * Various types can be used: strings and lists of strings, integers, floats, booleans (written as 0 or 1) and range of integers.
+ *
+ * Usually a #LinphoneCore is initialized using two #LinphoneConfig, one default (where configuration changes through API calls will be saved)
+ * and one named 'factory' which is read-only and overwrites any setting that may exists in the default one.
+ *
+ * It is also possible to use only one (either default or factory) or even none.
+ * @ingroup initializing
**/
typedef struct _LpConfig LinphoneConfig;
@@ -345,8 +338,9 @@
#define LpConfig LinphoneConfig
/**
- * #LinphoneGlobalState describes the global state of the #LinphoneCore object.
- * It is notified via the LinphoneCoreVTable::global_state_changed
+ * @brief Describes the state of the remote configuring process of the #LinphoneCore object, 'Skipped' when the feature is disabled.
+ *
+ * It is notified via the configuring_status() callback in #LinphoneCoreCbs.
* @ingroup initializing
**/
typedef enum _LinphoneConfiguringState {
@@ -354,6 +348,159 @@
LinphoneConfiguringFailed,
LinphoneConfiguringSkipped
} LinphoneConfiguringState;
+
+/**
+ * @brief Describes the global state of the #LinphoneCore object.
+ *
+ * It is notified via the global_state_changed() callback in #LinphoneCoreCbs.
+ * @ingroup initializing
+**/
+typedef enum _LinphoneGlobalState {
+ /** State in which we're in after linphone_core_stop(). Do not call any method while in this state except for linphone_core_start() */
+ LinphoneGlobalOff,
+ /** Transient state for when we call linphone_core_start() */
+ LinphoneGlobalStartup,
+ /** Indicates #LinphoneCore has been started and is up and running */
+ LinphoneGlobalOn,
+ /** Transient state for when we call linphone_core_stop() */
+ LinphoneGlobalShutdown,
+ /** Transient state between Startup and On if there is a remote provisionning URI configured */
+ LinphoneGlobalConfiguring,
+ /** #LinphoneCore state after being created by linphone_factory_create_core(), generally followed by a call to linphone_core_start() */
+ LinphoneGlobalReady
+} LinphoneGlobalState;
+
+/**
+ * @brief Describes proxy registration states.
+ *
+ * It is notified via the registration_state_changed() callback in #LinphoneCoreCbs.
+ * @ingroup proxies
+**/
+typedef enum _LinphoneRegistrationState {
+ LinphoneRegistrationNone, /**< Initial state for registrations */
+ LinphoneRegistrationProgress, /**< Registration is in progress */
+ LinphoneRegistrationOk, /**< Registration is successful */
+ LinphoneRegistrationCleared, /**< Unregistration succeeded */
+ LinphoneRegistrationFailed /**< Registration failed */
+} LinphoneRegistrationState;
+
+/**
+ * @brief Main object to instanciate and on which to keep a reference.
+ *
+ * This object is the first object to instanciante, and will allow you to perform all kind of tasks.
+ * To create it, use either linphone_factory_create_core_3() or linphone_factory_create_core_with_config_3(),
+ * see #LinphoneConfig for more information about factory and default config.
+ * On some platforms like Android or iOS you will need to give it the Context of your application.
+ *
+ * Once the #LinphoneCore is in state #LinphoneGlobalReady, use linphone_core_start().
+ * It will then go to state #LinphoneGlobalOn and from that you can start using it for calls and chat messages.
+ * It is recommended to add a #LinphoneCoreCbs listener using linphone_core_add_listener() to it to monitor different events.
+ *
+ * To be able to receive events from the network, you must schedule a call linphone_core_iterate() often, like every 20ms.
+ * On Android & iOS linphone_core_is_auto_iterate_enabled() is enabled by default so you don't have to worry about that unless you disable it
+ * using linphone_core_set_auto_iterate_enabled() or by setting in the [misc] section of your configuration auto_iterate=0.
+ * @warning Our API isn't thread-safe but also isn't blocking, so it is strongly recommend to always call our methods from the main thread.
+ *
+ * Once you don't need it anymore, call linphone_core_stop() and release the reference on it so it can gracefully shutdown.
+ * @ingroup initializing
+ */
+typedef struct _LinphoneCore LinphoneCore;
+
+/**
+ * @brief The factory is a singleton object devoted to the creation of all the objects
+ * of Liblinphone that cannot be created by #LinphoneCore itself.
+ *
+ * It is also used to configure a few behaviors before creating the #LinphoneCore, like the logs verbosity or collection.
+ * @ingroup initializing
+ */
+typedef struct _LinphoneFactory LinphoneFactory;
+
+/**
+ * @brief That class holds all the callbacks which are called by #LinphoneCore.
+ *
+ * Once created, add your #LinphoneCoreCbs using linphone_core_add_listener().
+ * Keep a reference on it as long as you need it.
+ * You can use linphone_core_remove_listener() to remove it but that isn't mandatory.
+ *
+ * The same applies to all listeners in our API.
+ * @ingroup initializing
+ */
+typedef struct _LinphoneCoreCbs LinphoneCoreCbs;
+
+// -----------------------------------------------------------------------------
+// Misc.
+// -----------------------------------------------------------------------------
+
+/**
+ * @brief SIP transports & ports configuration object.
+ *
+ * Indicates which transport among UDP, TCP, TLS and DTLS should be enabled and if so on which port to listen.
+ * You can use special values like #LC_SIP_TRANSPORT_DISABLED (0), #LC_SIP_TRANSPORT_RANDOM (-1) and #LC_SIP_TRANSPORT_DONTBIND (-2).
+ *
+ * Once configuration is complete, use linphone_core_set_transports() to apply it.
+ * This will be saved in configuration file so you don't have to do it each time the #LinphoneCore starts.
+ * @ingroup initializing
+ */
+typedef struct _LinphoneTransports LinphoneTransports;
+
+/**
+ * @brief Object describing policy regarding video streams establishments.
+ *
+ * Use linphone_video_activation_policy_set_automatically_accept() and linphone_video_activation_policy_set_automatically_initiate()
+ * to tell the Core to automatically accept or initiate video during calls.
+ *
+ * Even if disabled, you'll still be able to add it later while the call is running.
+ * @ingroup media_parameters
+**/
+typedef struct _LinphoneVideoActivationPolicy LinphoneVideoActivationPolicy;
+
+/**
+ * @brief This object represents a video definition, eg. it's width, it's height and possibly it's name.
+ *
+ * It is mostly used to configure the default video size sent by your camera during a video call with
+ * linphone_core_set_preferred_video_definition() method.
+ * @ingroup media_parameters
+ */
+typedef struct _LinphoneVideoDefinition LinphoneVideoDefinition;
+
+// -----------------------------------------------------------------------------
+// Other.
+// -----------------------------------------------------------------------------
+
+/**
+ * @brief Enum describing Ip family.
+ * @ingroup initializing
+**/
+typedef enum _LinphoneAddressFamily {
+ LinphoneAddressFamilyInet, /**< IpV4 */
+ LinphoneAddressFamilyInet6, /**< IpV6 */
+ LinphoneAddressFamilyUnspec, /**< Unknown */
+} LinphoneAddressFamily;
+
+/**
+ * @brief Enum describing the authentication methods.
+ * @ingroup network_parameters
+**/
+typedef enum _LinphoneAuthMethod {
+ LinphoneAuthHttpDigest, /**< Digest authentication requested */
+ LinphoneAuthTls, /**< Client certificate requested */
+} LinphoneAuthMethod;
+
+/**
+ * @brief Enum describing RTP AVPF activation modes.
+ * @ingroup media_parameters
+**/
+typedef enum _LinphoneAVPFMode {
+ LinphoneAVPFDefault = -1, /**< Use default value defined at upper level */
+ LinphoneAVPFDisabled, /**< AVPF is disabled */
+ LinphoneAVPFEnabled /**< AVPF is enabled */
+} LinphoneAVPFMode;
+
+/**
+ * @brief The object representing a data buffer.
+ * @ingroup misc
+**/
+typedef struct _LinphoneBuffer LinphoneBuffer;
/**
* Consolidated presence information: 'online' means the user is open for communication,
@@ -377,33 +524,15 @@
/**
* Old name of #LinphoneContactSearchID
- * @deprecated
+ * @deprecated 03/02/2017
* @donotwrap
*/
LINPHONE_DEPRECATED typedef LinphoneContactSearchID ContactSearchID;
-/**
- * Linphone core main object created by function linphone_core_new() .
- * @ingroup initializing
- */
-typedef struct _LinphoneCore LinphoneCore;
-
-/**
- * That class holds all the callbacks which are called by #LinphoneCore.
- *
- * Use linphone_factory_create_core_cbs() to create an instance. Then, call the
- * callback setters on the events you need to monitor and pass the object to
- * a #LinphoneCore instance through linphone_core_add_callbacks().
- *
- * That class is inherited from belle_sip_object_t.
- * @ingroup initializing
- */
-typedef struct _LinphoneCoreCbs LinphoneCoreCbs;
-
typedef struct belle_sip_dict LinphoneDictionary;
/**
- * Enum describing the result of the echo canceller calibration process.
+ * @brief Enum describing the result of the echo canceller calibration process.
* @ingroup media_parameters
**/
typedef enum _LinphoneEcCalibratorStatus {
@@ -414,7 +543,8 @@
} LinphoneEcCalibratorStatus;
/**
- * Object representing full details about a signaling error or status.
+ * @brief Object representing full details about a signaling error or status.
+ *
* All #LinphoneErrorInfo object returned by the liblinphone API are readonly and transcients. For safety they must be used immediately
* after obtaining them. Any other function call to the liblinphone may change their content or invalidate the pointer.
* @ingroup misc
@@ -422,7 +552,8 @@
typedef struct _LinphoneErrorInfo LinphoneErrorInfo;
/**
- * Object representing an event state, which is subcribed or published.
+ * @brief Object representing an event state, which is subcribed or published.
+ *
* @see linphone_core_publish()
* @see linphone_core_subscribe()
* @ingroup event_api
@@ -430,22 +561,15 @@
typedef struct _LinphoneEvent LinphoneEvent;
/**
- * An object to handle the callbacks for handling the LinphoneEvent operations.
+ * @brief An object to handle the callbacks for handling the LinphoneEvent operations.
* @ingroup event_api
**/
typedef struct _LinphoneEventCbs LinphoneEventCbs;
/**
- * #LinphoneFactory is a singleton object devoted to the creation of all the object
- * of Liblinphone that cannot be created by #LinphoneCore itself.
- * @ingroup initializing
- */
-typedef struct _LinphoneFactory LinphoneFactory;
-
-/**
- * Policy to use to pass through firewalls.
+ * @brief Policy to use to pass through firewalls.
* @ingroup network_parameters
- * @deprecated Use #LinphoneNatPolicy instead.
+ * @deprecated 03/02/2017 Use #LinphoneNatPolicy instead.
* @donotwrap
**/
typedef enum _LinphoneFirewallPolicy {
@@ -457,75 +581,7 @@
} LinphoneFirewallPolicy;
/**
- * Represents a buddy, all presence actions like subscription and status change notification are performed on this object
- * @ingroup buddy_list
- */
-typedef struct _LinphoneFriend LinphoneFriend;
-
-/**
-* Enum describing the status of a LinphoneFriendList operation.
-* @ingroup buddy_list
-**/
-typedef enum _LinphoneFriendCapability {
- LinphoneFriendCapabilityNone = 0,
- LinphoneFriendCapabilityGroupChat = 1 << 0,
- LinphoneFriendCapabilityLimeX3dh = 1 << 1
-} LinphoneFriendCapability;
-
-/**
- * The #LinphoneFriendList object representing a list of friends.
- * @ingroup buddy_list
-**/
-typedef struct _LinphoneFriendList LinphoneFriendList;
-
-/**
- * An object to handle the callbacks for #LinphoneFriend synchronization.
- * @ingroup buddy_list
-**/
-typedef struct _LinphoneFriendListCbs LinphoneFriendListCbs;
-
-/**
-* Enum describing the status of a LinphoneFriendList operation.
-* @ingroup buddy_list
-**/
-typedef enum _LinphoneFriendListStatus {
- LinphoneFriendListOK,
- LinphoneFriendListNonExistentFriend,
- LinphoneFriendListInvalidFriend
-} LinphoneFriendListStatus;
-
-/**
- * Enum describing the status of a CardDAV synchronization
- * @ingroup buddy_list
- */
-typedef enum _LinphoneFriendListSyncStatus {
- LinphoneFriendListSyncStarted,
- LinphoneFriendListSyncSuccessful,
- LinphoneFriendListSyncFailure
-} LinphoneFriendListSyncStatus;
-
-/**
- * #LinphoneGlobalState describes the global state of the #LinphoneCore object.
- * It is notified via the LinphoneCoreVTable::global_state_changed
- * @ingroup initializing
-**/
-typedef enum _LinphoneGlobalState {
- /** State in which we're in after linphone_core_stop(). Do not call any method while in this state except for linphone_core_start() */
- LinphoneGlobalOff,
- /** Transient state for when we call linphone_core_start() */
- LinphoneGlobalStartup,
- /** Indicates #LinphoneCore has been started and is up and running */
- LinphoneGlobalOn,
- /** Transient state for when we call linphone_core_stop() */
- LinphoneGlobalShutdown,
- /** Transient state between Startup and On if there is a remote provisionning URI configured */
- LinphoneGlobalConfiguring,
- /** #LinphoneCore state after being created by linphone_factory_create_core(), generally followed by a call to linphone_core_start() */
- LinphoneGlobalReady
-} LinphoneGlobalState;
-
-/**
- * Enum describing ICE states.
+ * @brief Enum describing ICE states.
* @ingroup initializing
**/
typedef enum _LinphoneIceState {
@@ -538,28 +594,31 @@
} LinphoneIceState;
/**
- * IM encryption engine.
+ * @brief IM encryption engine.
+ *
+ * @see https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Features/Instant%20Messaging%20Encryption%20Engine/
* @ingroup misc
* @donotwrap
*/
typedef struct _LinphoneImEncryptionEngine LinphoneImEncryptionEngine;
/**
- * An object to handle the callbacks for the handling a #LinphoneImEncryptionEngine object.
+ * @brief An object to handle the callbacks for the handling a #LinphoneImEncryptionEngine object.
* @ingroup misc
* @donotwrap
*/
typedef struct _LinphoneImEncryptionEngineCbs LinphoneImEncryptionEngineCbs;
/**
- * Policy to use to send/receive instant messaging composing/delivery/display notifications.
+ * @brief Policy to use to send/receive instant messaging composing/delivery/display notifications.
+ *
* The sending of this information is done as in the RFCs 3994 (is_composing) and 5438 (imdn delivered/displayed).
* @ingroup chatroom
*/
typedef struct _LinphoneImNotifPolicy LinphoneImNotifPolicy;
/**
- * The #LinphoneInfoMessage is an object representing an informational message sent or received by the core.
+ * @brief Object representing an informational message sent or received by the core.
* @ingroup misc
**/
typedef struct _LinphoneInfoMessage LinphoneInfoMessage;
@@ -578,6 +637,17 @@
} LinphoneLimeState;
/**
+ * @brief Session Timers refresher
+ * @ingroup initializing
+ */
+typedef enum _LinphoneSessionExpiresRefresher {
+ LinphoneSessionExpiresRefresherUnspecified,
+ LinphoneSessionExpiresRefresherUAS,
+ LinphoneSessionExpiresRefresherUAC
+} LinphoneSessionExpiresRefresher;
+
+/**
+ * @brief Whether or not to keep a file with the logs.
* @ingroup initializing
*/
typedef enum _LinphoneLogCollectionState {
@@ -587,7 +657,7 @@
} LinphoneLogCollectionState;
/**
- * #LinphoneCoreLogCollectionUploadState is used to notify if log collection upload have been succesfully delivered or not.
+ * @brief Used to notify if log collection upload have been succesfully delivered or not.
* @ingroup initializing
*/
typedef enum _LinphoneCoreLogCollectionUploadState {
@@ -597,7 +667,7 @@
} LinphoneCoreLogCollectionUploadState;
/**
- * Indicates for a given media the stream direction
+ * @brief Indicates for a given media the stream direction.
* @ingroup call_control
*/
typedef enum _LinphoneMediaDirection {
@@ -609,7 +679,16 @@
} LinphoneMediaDirection;
/**
- * Enum describing type of media encryption types.
+ * @brief Media resource usage.
+ * @ingroup media_parameters
+**/
+typedef enum _LinphoneMediaResourceMode {
+ LinphoneExclusiveMediaResources, /**< Media resources are not shared */
+ LinphoneSharedMediaResources, /**< Media resources are shared */
+} LinphoneMediaResourceMode;
+
+/**
+ * @brief Enum describing type of media encryption types.
* @ingroup media_parameters
**/
typedef enum _LinphoneMediaEncryption {
@@ -620,7 +699,7 @@
} LinphoneMediaEncryption;
/**
- * Enum describing the ZRTP SAS validation status of a peer URI
+ * @brief Enum describing the ZRTP SAS validation status of a peer URI.
* @ingroup media_parameters
**/
typedef enum _LinphoneZrtpPeerStatus {
@@ -630,14 +709,14 @@
} LinphoneZrtpPeerStatus;
/**
- * Policy to use to pass through NATs/firewalls.
+ * @brief Policy to use to pass through NATs/firewalls.
* @ingroup network_parameters
*/
typedef struct _LinphoneNatPolicy LinphoneNatPolicy;
/**
- * Enum describing remote friend status
- * @deprecated Use #LinphonePresenceModel and #LinphonePresenceActivity instead
+ * @brief Enum describing remote friend status.
+ * @deprecated 03/02/2017 Use #LinphonePresenceModel and #LinphonePresenceActivity instead
* @donotwrap
*/
typedef enum _LinphoneOnlineStatus{
@@ -658,19 +737,19 @@
} LinphoneOnlineStatus;
/**
- * Player interface.
+ * @brief Player interface.
* @ingroup call_control
**/
typedef struct _LinphonePlayer LinphonePlayer;
/**
- * An object to handle the callbacks for the handling a #LinphonePlayer objects.
+ * @brief An object to handle the callbacks for the handling a #LinphonePlayer objects.
* @ingroup call_control
*/
typedef struct _LinphonePlayerCbs LinphonePlayerCbs;
/**
- * The state of a LinphonePlayer.
+ * @brief The state of a #LinphonePlayer.
* @ingroup call_control
*/
typedef enum LinphonePlayerState {
@@ -680,13 +759,13 @@
} LinphonePlayerState;
/**
- * Presence activity type holding information about a presence activity.
+ * @brief Presence activity type holding information about a presence activity.
* @ingroup buddy_list
*/
typedef struct _LinphonePresenceActivity LinphonePresenceActivity;
/**
- * Activities as defined in section 3.2 of RFC 4480
+ * @brief Activities as defined in section 3.2 of RFC 4480
* @ingroup buddy_list
*/
typedef enum LinphonePresenceActivityType {
@@ -782,7 +861,7 @@
} LinphonePresenceActivityType;
/**
- * Basic status as defined in section 4.1.4 of RFC 3863
+ * @brief Basic status as defined in section 4.1.4 of RFC 3863
* @ingroup buddy_list
*/
typedef enum LinphonePresenceBasicStatus {
@@ -794,25 +873,25 @@
} LinphonePresenceBasicStatus;
/**
- * Presence model type holding information about the presence of a person.
+ * @brief Presence model type holding information about the presence of a person.
* @ingroup buddy_list
*/
typedef struct _LinphonePresenceModel LinphonePresenceModel;
/**
- * Presence note type holding information about a presence note.
+ * @brief Presence note type holding information about a presence note.
* @ingroup buddy_list
*/
typedef struct _LinphonePresenceNote LinphonePresenceNote;
/**
- * Presence person holding information about a presence person.
+ * @brief Presence person holding information about a presence person.
* @ingroup buddy_list
*/
typedef struct _LinphonePresencePerson LinphonePresencePerson;
/**
- * Presence service type holding information about a presence service.
+ * @brief Presence service type holding information about a presence service.
* @ingroup buddy_list
*/
typedef struct _LinphonePresenceService LinphonePresenceService;
@@ -868,32 +947,13 @@
/* WARNING This enum MUST be kept in sync with the SalPrivacy enum from sal.h */
/**
- * A mask of #LinphonePrivacy values
+ * @brief A mask of #LinphonePrivacy values
* @ingroup call_control
*/
typedef unsigned int LinphonePrivacyMask;
/**
- * The #LinphoneProxyConfig object represents a proxy configuration to be used
- * by the #LinphoneCore object.
- * Its fields must not be used directly in favour of the accessors methods.
- * Once created and filled properly the #LinphoneProxyConfig can be given to
- * #LinphoneCore with linphone_core_add_proxy_config().
- * This will automatically triggers the registration, if enabled.
- *
- * The proxy configuration are persistent to restarts because they are saved
- * in the configuration file. As a consequence, after linphone_core_new() there
- * might already be a list of configured proxy that can be examined with
- * linphone_core_get_proxy_config_list().
- *
- * The default proxy (see linphone_core_set_default_proxy() ) is the one of the list
- * that is used by default for calls.
- * @ingroup proxies
-**/
-typedef struct _LinphoneProxyConfig LinphoneProxyConfig;
-
-/**
- * Enum for publish states.
+ * @brief Enum for publish states.
* @ingroup event_api
**/
typedef enum _LinphonePublishState{
@@ -906,7 +966,7 @@
} LinphonePublishState;
/**
- * Enum describing various failure reasons or contextual information for some events.
+ * @brief Enum describing various failure reasons or contextual information for some events.
* @see linphone_call_get_reason()
* @see linphone_proxy_config_get_error()
* @see linphone_error_info_get_reason()
@@ -921,6 +981,7 @@
LinphoneReasonNotAnswered, /**< The call was not answered in time (request timeout) */
LinphoneReasonBusy, /**< Phone line was busy */
LinphoneReasonUnsupportedContent, /**< Unsupported content */
+ LinphoneReasonBadEvent, /**< Bad event */
LinphoneReasonIOError, /**< Transport error: connection failures, disconnections etc... */
LinphoneReasonDoNotDisturb, /**< Do not disturb reason */
LinphoneReasonUnauthorized, /**< Operation is unauthorized because missing credential */
@@ -932,6 +993,7 @@
LinphoneReasonAddressIncomplete, /**< Address incomplete */
LinphoneReasonNotImplemented, /**< Not implemented */
LinphoneReasonBadGateway, /**< Bad gateway */
+ LinphoneReasonSessionIntervalTooSmall, /**< The received request contains a Session-Expires header field with a duration below the minimum timer */
LinphoneReasonServerTimeout, /**< Server timeout */
LinphoneReasonUnknown /**< Unknown reason */
} LinphoneReason;
@@ -941,25 +1003,13 @@
/*for compatibility*/
#define LinphoneReasonMedia LinphoneReasonUnsupportedContent
-/**
- * #LinphoneRegistrationState describes proxy registration states.
- * @ingroup proxies
-**/
-typedef enum _LinphoneRegistrationState {
- LinphoneRegistrationNone, /**< Initial state for registrations */
- LinphoneRegistrationProgress, /**< Registration is in progress */
- LinphoneRegistrationOk, /**< Registration is successful */
- LinphoneRegistrationCleared, /**< Unregistration succeeded */
- LinphoneRegistrationFailed /**< Registration failed */
-} LinphoneRegistrationState;
-
typedef struct _LinphoneRingtonePlayer LinphoneRingtonePlayer;
/**
* Linphone core SIP transport ports.
* Special values #LC_SIP_TRANSPORT_RANDOM, #LC_SIP_TRANSPORT_RANDOM, #LC_SIP_TRANSPORT_DONTBIND can be used.
- * Use with #linphone_core_set_sip_transports
- * @deprecated
+ * Use with #linphone_core_set_sip_transports()
+ * @deprecated 18/04/2017
* @donotwrap
*/
typedef struct _LinphoneSipTransports {
@@ -970,16 +1020,8 @@
} LinphoneSipTransports;
/**
- * Linphone core SIP transport ports.
- * Special values #LC_SIP_TRANSPORT_RANDOM, #LC_SIP_TRANSPORT_RANDOM, #LC_SIP_TRANSPORT_DONTBIND can be used.
- * Use with #linphone_core_set_sip_transports
- * @ingroup initializing
- */
-typedef struct _LinphoneTransports LinphoneTransports;
-
-/**
* Old name of #LinphoneSipTransports
- * @deprecated
+ * @deprecated 03/02/2017
* @donotwrap
*/
LINPHONE_DEPRECATED typedef struct _LinphoneSipTransports LCSipTransports;
@@ -987,7 +1029,7 @@
typedef struct _LinphoneSoundDaemon LinphoneSoundDaemon;
/**
- * Enum describing the stream types.
+ * @brief Enum describing the stream types.
* @ingroup initializing
**/
typedef enum _LinphoneStreamType {
@@ -998,7 +1040,7 @@
} LinphoneStreamType;
/**
- * Enum controlling behavior for incoming subscription request.
+ * @brief Enum controlling behavior for incoming subscription request.
* Use by linphone_friend_set_inc_subscribe_policy()
* @ingroup buddy_list
*/
@@ -1013,7 +1055,7 @@
} LinphoneSubscribePolicy;
/**
- * Enum for subscription direction (incoming or outgoing).
+ * @brief Enum for subscription direction (incoming or outgoing).
* @ingroup event_api
**/
typedef enum _LinphoneSubscriptionDir{
@@ -1023,7 +1065,7 @@
} LinphoneSubscriptionDir;
/**
- * Enum for subscription states.
+ * @brief Enum for subscription states.
* #LinphoneSubscriptionTerminated and #LinphoneSubscriptionError are final states.
* @ingroup event_api
**/
@@ -1039,7 +1081,7 @@
} LinphoneSubscriptionState;
/**
- * Enum listing frequent telephony tones.
+ * @brief Enum listing frequent telephony tones.
* @ingroup misc
**/
typedef enum _LinphoneToneID {
@@ -1051,7 +1093,7 @@
} LinphoneToneID;
/**
- * Enum describing transport type for LinphoneAddress.
+ * @brief Enum describing transport type for LinphoneAddress.
* @ingroup linphone_address
**/
typedef enum _LinphoneTransportType {
@@ -1063,7 +1105,7 @@
/* WARNING This enum MUST be kept in sync with the SalTransport enum from sal.h */
/**
- * Linphone tunnel object.
+ * @brief Linphone tunnel object.
* @ingroup tunnel
*/
typedef struct _LinphoneTunnel LinphoneTunnel;
@@ -1075,7 +1117,7 @@
typedef struct _LinphoneTunnelConfig LinphoneTunnelConfig;
/**
- * Enum describing the tunnel modes.
+ * @brief Enum describing the tunnel modes.
* @ingroup tunnel
**/
typedef enum _LinphoneTunnelMode {
@@ -1085,7 +1127,7 @@
} LinphoneTunnelMode;
/**
- * Enum describing uPnP states.
+ * @brief Enum describing uPnP states.
* @ingroup initializing
**/
typedef enum _LinphoneUpnpState {
@@ -1100,13 +1142,13 @@
} LinphoneUpnpState;
/**
- * The #LinphoneVcard object.
+ * @brief Object storing contact information using vCard 4.0 format.
* @ingroup carddav_vcard
*/
typedef struct _LinphoneVcard LinphoneVcard;
/**
- * Enum describing the result of a version update check.
+ * @brief Enum describing the result of a version update check.
* @ingroup misc
*/
typedef enum _LinphoneVersionUpdateCheckResult {
@@ -1116,15 +1158,9 @@
} LinphoneVersionUpdateCheckResult;
/**
- * The #LinphoneVideoDefinition object represents a video definition, eg. its width and its height.
+ * @brief Structure describing policy regarding video streams establishments.
* @ingroup media_parameters
- */
-typedef struct _LinphoneVideoDefinition LinphoneVideoDefinition;
-
-/**
- * Structure describing policy regarding video streams establishments.
- * @ingroup media_parameters
- * @deprecated
+ * @deprecated 18/04/17
* @donotwrap
**/
typedef struct _LinphoneVideoPolicy {
@@ -1133,12 +1169,6 @@
bool_t unused[2];
} LinphoneVideoPolicy;
-/**
- * Structure describing policy regarding video streams establishments.
- * @ingroup media_parameters
-**/
-typedef struct _LinphoneVideoActivationPolicy LinphoneVideoActivationPolicy;
-
typedef struct LinphoneVideoSizeDef {
MSVideoSize vsize;
const char *name;
@@ -1146,7 +1176,7 @@
/**
* Old name of #LinphoneVideoSizeDef
- * @deprecated
+ * @deprecated 03/02/2017
*/
typedef LinphoneVideoSizeDef MSVideoSizeDef;
@@ -1157,35 +1187,36 @@
} LinphoneWaitingState;
/**
-* Enum describing the types of argument for LinphoneXmlRpcRequest.
+* @brief Enum describing the types of argument for LinphoneXmlRpcRequest.
* @ingroup misc
**/
typedef enum _LinphoneXmlRpcArgType {
LinphoneXmlRpcArgNone,
LinphoneXmlRpcArgInt,
- LinphoneXmlRpcArgString
+ LinphoneXmlRpcArgString,
+ LinphoneXmlRpcArgStringStruct
} LinphoneXmlRpcArgType;
/**
- * The #LinphoneXmlRpcRequest object representing a XML-RPC request to be sent.
+ * @brief The #LinphoneXmlRpcRequest object representing a XML-RPC request to be sent.
* @ingroup misc
**/
typedef struct _LinphoneXmlRpcRequest LinphoneXmlRpcRequest;
/**
- * An object to handle the callbacks for handling the #LinphoneXmlRpcRequest operations.
+ * @brief An object to handle the callbacks for handling the #LinphoneXmlRpcRequest operations.
* @ingroup misc
**/
typedef struct _LinphoneXmlRpcRequestCbs LinphoneXmlRpcRequestCbs;
/**
- * The #LinphoneXmlRpcSession object used to send XML-RPC requests and handle their responses.
+ * @brief The #LinphoneXmlRpcSession object used to send XML-RPC requests and handle their responses.
* @ingroup misc
**/
typedef struct _LinphoneXmlRpcSession LinphoneXmlRpcSession;
/**
-* Enum describing the status of a LinphoneXmlRpcRequest.
+* @brief Enum describing the status of a LinphoneXmlRpcRequest.
* @ingroup misc
**/
typedef enum _LinphoneXmlRpcStatus {
@@ -1197,19 +1228,19 @@
typedef struct _LsdPlayer LsdPlayer;
/**
- * Object representing an RTP payload type.
+ * @brief Object representing an RTP payload type.
* @ingroup media_parameters
*/
typedef struct _LinphonePayloadType LinphonePayloadType;
/**
- * Structure describing a range of integers
+ * @brief Structure describing a range of integers
* @ingroup misc
*/
typedef struct _LinphoneRange LinphoneRange;
/**
- * Status code returned by some functions to
+ * @brief Status code returned by some functions to
* notify whether the execution has been succesfully
* done or not.
* @ingroup misc
@@ -1217,7 +1248,7 @@
typedef int LinphoneStatus;
/**
- * Object representing a chain of protocol headers.
+ * @brief Object representing a chain of protocol headers.
* It provides read/write access to the headers of the underlying protocol.
* @ingroup misc
**/
--
Gitblit v1.8.0