From cb9232b3ab413fae7bcc2b94abd70f18ca02b263 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期二, 03 十二月 2024 11:20:32 +0800 Subject: [PATCH] 增加铃声;增加TCP/UDP连接选择 --- 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