chenqiyang
2022-09-02 6a99d9bf65aa5878cb409945ed2bdbdcb916d047
Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/linphone.framework/Headers/presence.h
old mode 100644 new mode 100755
@@ -40,11 +40,10 @@
/**
 * Creates a presence model specifying an activity.
 * @param[in] activity The activity to set for the created presence model.
 * @param[in] description An additional description of the activity (mainly useful for the 'other' activity). Set it to NULL to not add a description.
 * @return The created presence model, or NULL if an error occured.
 * @see linphone_presence_model_new
 * @see linphone_presence_model_new_with_activity_and_note
 * @param activity The #LinphonePresenceActivityType to set for the created presence model.
 * @param description An additional description of the activity (mainly useful for the 'other' activity). Set it to NULL to not add a description. @maybenil
 * @return The created #LinphonePresenceModel, or NULL if an error occured. @maybenil
 * @see linphone_presence_model_new(), linphone_presence_model_new_with_activity_and_note()
 *
 * The created presence model has the activity specified in the parameters.
 */
@@ -52,13 +51,12 @@
/**
 * Creates a presence model specifying an activity and adding a note.
 * @param[in] activity The activity to set for the created presence model.
 * @param[in] description An additional description of the activity (mainly useful for the 'other' activity). Set it to NULL to not add a description.
 * @param[in] note An additional note giving additional information about the contact presence.
 * @param[in] lang The language the note is written in. It can be set to NULL in order to not specify the language of the note.
 * @return The created presence model, or NULL if an error occured.
 * @see linphone_presence_model_new_with_activity
 * @see linphone_presence_model_new_with_activity_and_note
 * @param activity The #LinphonePresenceActivityType to set for the created presence model.
 * @param description An additional description of the activity (mainly useful for the 'other' activity). Set it to NULL to not add a description. @maybenil
 * @param note An additional note giving additional information about the contact presence. @notnil
 * @param lang The language the note is written in. It can be set to NULL in order to not specify the language of the note. @maybenil
 * @return The created #LinphonePresenceModel, or NULL if an error occured. @maybenil
 * @see linphone_presence_model_new_with_activity(), linphone_presence_model_new_with_activity_and_note()
 *
 * The created presence model has the activity and the note specified in the parameters.
 */
@@ -66,30 +64,30 @@
/**
 * Gets the basic status of a presence model.
 * @param[in] model The #LinphonePresenceModel object to get the basic status from.
 * @param model The #LinphonePresenceModel object to get the basic status from. @notnil
 * @return The #LinphonePresenceBasicStatus of the #LinphonePresenceModel object given as parameter.
 */
LINPHONE_PUBLIC LinphonePresenceBasicStatus linphone_presence_model_get_basic_status(const LinphonePresenceModel *model);
/**
 *  Sets the basic status of a presence model.
 * @param[in] model The #LinphonePresenceModel object for which to set the basic status.
 * @param[in] basic_status The #LinphonePresenceBasicStatus to set for the #LinphonePresenceModel object.
 * @param model The #LinphonePresenceModel object for which to set the basic status. @notnil
 * @param basic_status The #LinphonePresenceBasicStatus to set for the #LinphonePresenceModel object.
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_model_set_basic_status(LinphonePresenceModel *model, LinphonePresenceBasicStatus basic_status);
/**
 *  Gets the timestamp of a presence model.
 * @param[in] model The #LinphonePresenceModel object to get the timestamp from.
 * @param model The #LinphonePresenceModel object to get the timestamp from. @notnil
 * @return The timestamp of the #LinphonePresenceModel object or -1 on error.
 */
LINPHONE_PUBLIC time_t linphone_presence_model_get_timestamp(const LinphonePresenceModel *model);
/**
 * Gets the contact of a presence model.
 * @param[in] model The #LinphonePresenceModel object to get the contact from.
 * @return A pointer to a dynamically allocated string containing the contact, or NULL if no contact is found.
 * @param model The #LinphonePresenceModel object to get the contact from. @notnil
 * @return A pointer to a dynamically allocated string containing the contact, or NULL if no contact is found. @maybenil
 *
 * The returned string is to be freed by calling ms_free().
 */
@@ -97,40 +95,39 @@
/**
 * Sets the contact of a presence model.
 * @param[in] model The #LinphonePresenceModel object for which to set the contact.
 * @param[in] contact The contact string to set.
 * @param model The #LinphonePresenceModel object for which to set the contact. @notnil
 * @param contact The contact string to set. @maybenil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_model_set_contact(LinphonePresenceModel *model, const char *contact);
/**
 * Sets the presentity of a presence model.
 * @param[in] model The #LinphonePresenceModel object for which to set the contact.
 * @param[in] presentity The presentity address to set (presentity is copied).
 * @param model The #LinphonePresenceModel object for which to set the contact. @notnil
 * @param presentity The presentity address to set (presentity is copied). @maybenil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_model_set_presentity(LinphonePresenceModel *model, const LinphoneAddress *presentity);
/**
 * Gets the presentity of a presence model.
 * @param[in] model The #LinphonePresenceModel object to get the contact from.
 * @return A pointer to a const LinphoneAddress, or NULL if no contact is found.
 *
 * @param model The #LinphonePresenceModel object to get the contact from. @notnil
 * @return A pointer to a const #LinphoneAddress, or NULL if no contact is found. @maybenil
 */
LINPHONE_PUBLIC const LinphoneAddress * linphone_presence_model_get_presentity(const LinphonePresenceModel *model);
/**
 * Gets the first activity of a presence model (there is usually only one).
 * @param[in] model The #LinphonePresenceModel object to get the activity from.
 * @return A #LinphonePresenceActivity object if successful, NULL otherwise.
 * @param model The #LinphonePresenceModel object to get the activity from. @notnil
 * @return A #LinphonePresenceActivity object if successful, NULL otherwise. @maybenil @tobefreed
 */
LINPHONE_PUBLIC LinphonePresenceActivity * linphone_presence_model_get_activity(const LinphonePresenceModel *model);
/**
 * Sets the activity of a presence model (limits to only one activity).
 * @param[in] model The #LinphonePresenceModel object for which to set the activity.
 * @param[in] activity The #LinphonePresenceActivityType to set for the model.
 * @param[in] description An additional description of the activity to set for the model. Can be NULL if no additional description is to be added.
 * @param model The #LinphonePresenceModel object for which to set the activity. @notnil
 * @param activity The #LinphonePresenceActivityType to set for the model.
 * @param description An additional description of the activity to set for the model. Can be NULL if no additional description is to be added. @maybenil
 * @return 0 if successful, a value < 0 in case of error.
 *
 * WARNING: This function will modify the basic status of the model according to the activity being set.
@@ -141,47 +138,47 @@
/**
 * Gets the number of activities included in the presence model.
 * @param[in] model The #LinphonePresenceModel object to get the number of activities from.
 * @param model The #LinphonePresenceModel object to get the number of activities from. @notnil
 * @return The number of activities included in the #LinphonePresenceModel object.
 */
LINPHONE_PUBLIC unsigned int linphone_presence_model_get_nb_activities(const LinphonePresenceModel *model);
/**
 * Gets the nth activity of a presence model.
 * @param[in] model The #LinphonePresenceModel object to get the activity from.
 * @param[in] idx The index of the activity to get (the first activity having the index 0).
 * @return A pointer to a #LinphonePresenceActivity object if successful, NULL otherwise.
 * @param model The #LinphonePresenceModel object to get the activity from. @notnil
 * @param index The index of the activity to get (the first activity having the index 0).
 * @return A pointer to a #LinphonePresenceActivity object if successful, NULL otherwise. @maybenil @tobefreed
 */
LINPHONE_PUBLIC LinphonePresenceActivity * linphone_presence_model_get_nth_activity(const LinphonePresenceModel *model, unsigned int idx);
LINPHONE_PUBLIC LinphonePresenceActivity * linphone_presence_model_get_nth_activity(const LinphonePresenceModel *model, unsigned int index);
/**
 * Adds an activity to a presence model.
 * @param[in] model The #LinphonePresenceModel object for which to add an activity.
 * @param[in] activity The #LinphonePresenceActivity object to add to the model.
 * @param model The #LinphonePresenceModel object for which to add an activity. @notnil
 * @param activity The #LinphonePresenceActivity object to add to the model. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_model_add_activity(LinphonePresenceModel *model, LinphonePresenceActivity *activity);
/**
 * Clears the activities of a presence model.
 * @param[in] model The #LinphonePresenceModel object for which to clear the activities.
 * @param model The #LinphonePresenceModel object for which to clear the activities. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_model_clear_activities(LinphonePresenceModel *model);
/**
 * Gets the first note of a presence model (there is usually only one).
 * @param[in] model The #LinphonePresenceModel object to get the note from.
 * @param[in] lang The language of the note to get. Can be NULL to get a note that has no language specified or to get the first note whatever language it is written into.
 * @return A pointer to a #LinphonePresenceNote object if successful, NULL otherwise.
 * @param model The #LinphonePresenceModel object to get the note from. @notnil
 * @param lang The language of the note to get. Can be NULL to get a note that has no language specified or to get the first note whatever language it is written into. @maybenil
 * @return A pointer to a #LinphonePresenceNote object if successful, NULL otherwise. @maybenil
 */
LINPHONE_PUBLIC LinphonePresenceNote * linphone_presence_model_get_note(const LinphonePresenceModel *model, const char *lang);
/**
 * Adds a note to a presence model.
 * @param[in] model The #LinphonePresenceModel object to add a note to.
 * @param[in] note_content The note to be added to the presence model.
 * @param[in] lang The language of the note to be added. Can be NULL if no language is to be specified for the note.
 * @param model The #LinphonePresenceModel object to add a note to. @notnil
 * @param note_content The note to be added to the presence model. @notnil
 * @param lang The language of the note to be added. Can be NULL if no language is to be specified for the note. @maybenil
 * @return 0 if successful, a value < 0 in case of error.
 *
 * Only one note for each language can be set, so e.g. setting a note for the 'fr' language if there is only one will replace the existing one.
@@ -190,14 +187,14 @@
/**
 * Clears all the notes of a presence model.
 * @param[in] model The #LinphonePresenceModel for which to clear notes.
 * @param model The #LinphonePresenceModel for which to clear notes. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_model_clear_notes(LinphonePresenceModel *model);
/**
 * Get the consolidated presence from a presence model.
 * @param[in] model #LinphonePresenceModel object
 * @param model #LinphonePresenceModel object @notnil
 * @return The #LinphoneConsolidatedPresence corresponding to the presence model
 */
LINPHONE_PUBLIC LinphoneConsolidatedPresence linphone_presence_model_get_consolidated_presence(const LinphonePresenceModel *model);
@@ -209,9 +206,8 @@
/**
 * Creates a default presence model.
 * @return The created presence model, NULL on error.
 * @see linphone_presence_model_new_with_activity
 * @see linphone_presence_model_new_with_activity_and_note
 * @return The created presence model, NULL on error. @maybenil
 * @see linphone_presence_model_new_with_activity(), linphone_presence_model_new_with_activity_and_note()
 *
 * The created presence model is considered 'offline'.
 */
@@ -219,60 +215,60 @@
/**
 * Gets the number of services included in the presence model.
 * @param[in] model The #LinphonePresenceModel object to get the number of services from.
 * @param model The #LinphonePresenceModel object to get the number of services from. @notnil
 * @return The number of services included in the #LinphonePresenceModel object.
 */
LINPHONE_PUBLIC unsigned int linphone_presence_model_get_nb_services(const LinphonePresenceModel *model);
/**
 * Gets the nth service of a presence model.
 * @param[in] model The #LinphonePresenceModel object to get the service from.
 * @param[in] idx The index of the service to get (the first service having the index 0).
 * @return A pointer to a #LinphonePresenceService object if successful, NULL otherwise.
 * @param model The #LinphonePresenceModel object to get the service from. @notnil
 * @param index The index of the service to get (the first service having the index 0).
 * @return A pointer to a #LinphonePresenceService object if successful, NULL otherwise. @maybenil
 */
LINPHONE_PUBLIC LinphonePresenceService * linphone_presence_model_get_nth_service(const LinphonePresenceModel *model, unsigned int idx);
LINPHONE_PUBLIC LinphonePresenceService * linphone_presence_model_get_nth_service(const LinphonePresenceModel *model, unsigned int index);
/**
 * Adds a service to a presence model.
 * @param[in] model The #LinphonePresenceModel object for which to add a service.
 * @param[in] service The #LinphonePresenceService object to add to the model.
 * @param model The #LinphonePresenceModel object for which to add a service. @notnil
 * @param service The #LinphonePresenceService object to add to the model. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_model_add_service(LinphonePresenceModel *model, LinphonePresenceService *service);
/**
 * Clears the services of a presence model.
 * @param[in] model The #LinphonePresenceModel object for which to clear the services.
 * @param model The #LinphonePresenceModel object for which to clear the services. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_model_clear_services(LinphonePresenceModel *model);
/**
 * Gets the number of persons included in the presence model.
 * @param[in] model The #LinphonePresenceModel object to get the number of persons from.
 * @param model The #LinphonePresenceModel object to get the number of persons from. @notnil
 * @return The number of persons included in the #LinphonePresenceModel object.
 */
LINPHONE_PUBLIC unsigned int linphone_presence_model_get_nb_persons(const LinphonePresenceModel *model);
/**
 * Gets the nth person of a presence model.
 * @param[in] model The #LinphonePresenceModel object to get the person from.
 * @param[in] idx The index of the person to get (the first person having the index 0).
 * @return A pointer to a #LinphonePresencePerson object if successful, NULL otherwise.
 * @param model The #LinphonePresenceModel object to get the person from. @notnil
 * @param index The index of the person to get (the first person having the index 0).
 * @return A pointer to a #LinphonePresencePerson object if successful, NULL otherwise. @maybenil
 */
LINPHONE_PUBLIC LinphonePresencePerson * linphone_presence_model_get_nth_person(const LinphonePresenceModel *model, unsigned int idx);
LINPHONE_PUBLIC LinphonePresencePerson * linphone_presence_model_get_nth_person(const LinphonePresenceModel *model, unsigned int index);
/**
 * Adds a person to a presence model.
 * @param[in] model The #LinphonePresenceModel object for which to add a person.
 * @param[in] person The #LinphonePresencePerson object to add to the model.
 * @param model The #LinphonePresenceModel object for which to add a person. @notnil
 * @param person The #LinphonePresencePerson object to add to the model. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_model_add_person(LinphonePresenceModel *model, LinphonePresencePerson *person);
/**
 * Clears the persons of a presence model.
 * @param[in] model The #LinphonePresenceModel object for which to clear the persons.
 * @param model The #LinphonePresenceModel object for which to clear the persons. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_model_clear_persons(LinphonePresenceModel *model);
@@ -282,7 +278,7 @@
 * It is any of theses cases:
 *  - basic status is'open' and no activities
 *  - explicit 'online' tag in the status
 * @param[in] model #LinphonePresenceModel object
 * @param model #LinphonePresenceModel object @notnil
 * @return A boolean value telling whether the presence model is considered online or not.
 */
LINPHONE_PUBLIC bool_t linphone_presence_model_is_online(const LinphonePresenceModel *model);
@@ -294,8 +290,8 @@
/**
 * Gets the string representation of a presence basic status.
 * @param[in] basic_status A #LinphonePresenceBasicStatus for which to get a string representation.
 * @return A pointer a dynamically allocated string representing the given basic status.
 * @param basic_status A #LinphonePresenceBasicStatus for which to get a string representation.
 * @return A pointer a dynamically allocated string representing the given basic status. @notnil
 *
 * The returned string is to be freed by calling ms_free().
 */
@@ -303,10 +299,10 @@
/**
 * Creates a presence service.
 * @param[in] id The id of the presence service to be created. Can be NULL to generate it automatically.
 * @param[in] basic_status The #LinphonePresenceBasicStatus to set for the #LinphonePresenceService object.
 * @param[in] contact The contact string to set.
 * @return The created presence service, NULL on error.
 * @param id The id of the presence service to be created. Can be NULL to generate it automatically. @maybenil
 * @param basic_status The #LinphonePresenceBasicStatus to set for the #LinphonePresenceService object.
 * @param contact The contact string to set. @maybenil
 * @return The created presence service, NULL on error. @maybenil
 *
 * The created presence service has the basic status 'closed'.
 */
@@ -314,8 +310,8 @@
/**
 * Gets the id of a presence service.
 * @param[in] service The #LinphonePresenceService object to get the id from.
 * @return A pointer to a dynamically allocated string containing the id, or NULL in case of error.
 * @param service The #LinphonePresenceService object to get the id from. @notnil
 * @return A pointer to a dynamically allocated string containing the id, or NULL in case of error. @maybenil
 *
 * The returned string is to be freed by calling ms_free().
 */
@@ -323,31 +319,31 @@
/**
 * Sets the id of a presence service.
 * @param[in] service The #LinphonePresenceService object for which to set the id.
 * @param[in] id The id string to set. Can be NULL to generate it automatically.
 * @param service The #LinphonePresenceService object for which to set the id. @notnil
 * @param id The id string to set. Can be NULL to generate it automatically. @maybenil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_service_set_id(LinphonePresenceService *service, const char *id);
/**
 * Gets the basic status of a presence service.
 * @param[in] service The #LinphonePresenceService object to get the basic status from.
 * @param service The #LinphonePresenceService object to get the basic status from. @notnil
 * @return The #LinphonePresenceBasicStatus of the #LinphonePresenceService object given as parameter.
 */
LINPHONE_PUBLIC LinphonePresenceBasicStatus linphone_presence_service_get_basic_status(const LinphonePresenceService *service);
/**
 * Sets the basic status of a presence service.
 * @param[in] service The #LinphonePresenceService object for which to set the basic status.
 * @param[in] basic_status The #LinphonePresenceBasicStatus to set for the #LinphonePresenceService object.
 * @param service The #LinphonePresenceService object for which to set the basic status. @notnil
 * @param basic_status The #LinphonePresenceBasicStatus to set for the #LinphonePresenceService object.
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_service_set_basic_status(LinphonePresenceService *service, LinphonePresenceBasicStatus basic_status);
/**
 * Gets the contact of a presence service.
 * @param[in] service The #LinphonePresenceService object to get the contact from.
 * @return A pointer to a dynamically allocated string containing the contact, or NULL if no contact is found.
 * @param service The #LinphonePresenceService object to get the contact from. @notnil
 * @return A pointer to a dynamically allocated string containing the contact, or NULL if no contact is found. @maybenil
 *
 * The returned string is to be freed by calling ms_free().
 */
@@ -355,16 +351,16 @@
/**
 * Sets the contact of a presence service.
 * @param[in] service The #LinphonePresenceService object for which to set the contact.
 * @param[in] contact The contact string to set.
 * @param service The #LinphonePresenceService object for which to set the contact. @notnil
 * @param contact The contact string to set.@maybenil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_service_set_contact(LinphonePresenceService *service, const char *contact);
/**
 * Gets the service descriptions of a presence service.
 * @param[in] service The #LinphonePresenceService object to get the contact from.
 * @return A \bctbx_list{char *} containing the services descriptions.
 * @param service The #LinphonePresenceService object to get the contact from. @notnil
 * @return A \bctbx_list{char *} containing the services descriptions. @maybenil
 *
 * The returned string is to be freed.
 */
@@ -372,38 +368,38 @@
/**
 * Sets the service descriptions of a presence service.
 * @param[in] service The #LinphonePresenceService object for which to set the contact.
 * @param[in] descriptions \bctbx_list{char *} The service descriptions.
 * @param service The #LinphonePresenceService object for which to set the contact. @notnil
 * @param descriptions The service descriptions. @bctbx_list{char *} @maybenil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_service_set_service_descriptions(LinphonePresenceService *service, bctbx_list_t *descriptions);
/**
 * Gets the number of notes included in the presence service.
 * @param[in] service The #LinphonePresenceService object to get the number of notes from.
 * @param service The #LinphonePresenceService object to get the number of notes from. @notnil
 * @return The number of notes included in the #LinphonePresenceService object.
 */
LINPHONE_PUBLIC unsigned int linphone_presence_service_get_nb_notes(const LinphonePresenceService *service);
/**
 * Gets the nth note of a presence service.
 * @param[in] service The #LinphonePresenceService object to get the note from.
 * @param[in] idx The index of the note to get (the first note having the index 0).
 * @return A pointer to a #LinphonePresenceNote object if successful, NULL otherwise.
 * @param service The #LinphonePresenceService object to get the note from. @notnil
 * @param index The index of the note to get (the first note having the index 0).
 * @return A pointer to a #LinphonePresenceNote object if successful, NULL otherwise. @maybenil
 */
LINPHONE_PUBLIC LinphonePresenceNote * linphone_presence_service_get_nth_note(const LinphonePresenceService *service, unsigned int idx);
LINPHONE_PUBLIC LinphonePresenceNote * linphone_presence_service_get_nth_note(const LinphonePresenceService *service, unsigned int index);
/**
 * Adds a note to a presence service.
 * @param[in] service The #LinphonePresenceService object for which to add a note.
 * @param[in] note The #LinphonePresenceNote object to add to the service.
 * @param service The #LinphonePresenceService object for which to add a note. @notnil
 * @param note The #LinphonePresenceNote object to add to the service. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_service_add_note(LinphonePresenceService *service, LinphonePresenceNote *note);
/**
 * Clears the notes of a presence service.
 * @param[in] service The #LinphonePresenceService object for which to clear the notes.
 * @param service The #LinphonePresenceService object for which to clear the notes. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_service_clear_notes(LinphonePresenceService *service);
@@ -415,15 +411,15 @@
/**
 * Creates a presence person.
 * @param[in] id The id of the presence person to be created. Can be NULL to generate it automatically.
 * @return The created presence person, NULL on error.
 * @param id The id of the presence person to be created. Can be NULL to generate it automatically. @maybenil
 * @return The created presence person, NULL on error. @maybenil
 */
LINPHONE_PUBLIC LinphonePresencePerson * linphone_presence_person_new(const char *id);
/**
 * Gets the id of a presence person.
 * @param[in] person The #LinphonePresencePerson object to get the id from.
 * @return A pointer to a dynamically allocated string containing the id, or NULL in case of error.
 * @param person The #LinphonePresencePerson object to get the id from.
 * @return A pointer to a dynamically allocated string containing the id, or NULL in case of error. @maybenil
 *
 * The returned string is to be freed by calling ms_free().
 */
@@ -431,98 +427,98 @@
/**
 * Sets the id of a presence person.
 * @param[in] person The #LinphonePresencePerson object for which to set the id.
 * @param[in] id The id string to set. Can be NULL to generate it automatically.
 * @param person The #LinphonePresencePerson object for which to set the id. @notnil
 * @param id The id string to set. Can be NULL to generate it automatically. @maybenil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_person_set_id(LinphonePresencePerson *person, const char *id);
/**
 * Gets the number of activities included in the presence person.
 * @param[in] person The #LinphonePresencePerson object to get the number of activities from.
 * @param person The #LinphonePresencePerson object to get the number of activities from. @notnil
 * @return The number of activities included in the #LinphonePresencePerson object.
 */
LINPHONE_PUBLIC unsigned int linphone_presence_person_get_nb_activities(const LinphonePresencePerson *person);
/**
 * Gets the nth activity of a presence person.
 * @param[in] person The #LinphonePresencePerson object to get the activity from.
 * @param[in] idx The index of the activity to get (the first activity having the index 0).
 * @return A pointer to a #LinphonePresenceActivity object if successful, NULL otherwise.
 * @param person The #LinphonePresencePerson object to get the activity from. @notnil
 * @param index The index of the activity to get (the first activity having the index 0).
 * @return A pointer to a #LinphonePresenceActivity object if successful, NULL otherwise. @maybenil
 */
LINPHONE_PUBLIC LinphonePresenceActivity * linphone_presence_person_get_nth_activity(const LinphonePresencePerson *person, unsigned int idx);
LINPHONE_PUBLIC LinphonePresenceActivity * linphone_presence_person_get_nth_activity(const LinphonePresencePerson *person, unsigned int index);
/**
 * Adds an activity to a presence person.
 * @param[in] person The #LinphonePresencePerson object for which to add an activity.
 * @param[in] activity The #LinphonePresenceActivity object to add to the person.
 * @param person The #LinphonePresencePerson object for which to add an activity. @notnil
 * @param activity The #LinphonePresenceActivity object to add to the person. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_person_add_activity(LinphonePresencePerson *person, LinphonePresenceActivity *activity);
/**
 * Clears the activities of a presence person.
 * @param[in] person The #LinphonePresencePerson object for which to clear the activities.
 * @param person The #LinphonePresencePerson object for which to clear the activities. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_person_clear_activities(LinphonePresencePerson *person);
/**
 * Gets the number of notes included in the presence person.
 * @param[in] person The #LinphonePresencePerson object to get the number of notes from.
 * @param person The #LinphonePresencePerson object to get the number of notes from. @notnil
 * @return The number of notes included in the #LinphonePresencePerson object.
 */
LINPHONE_PUBLIC unsigned int linphone_presence_person_get_nb_notes(const LinphonePresencePerson *person);
/**
 * Gets the nth note of a presence person.
 * @param[in] person The #LinphonePresencePerson object to get the note from.
 * @param[in] idx The index of the note to get (the first note having the index 0).
 * @return A pointer to a #LinphonePresenceNote object if successful, NULL otherwise.
 * @param person The #LinphonePresencePerson object to get the note from. @notnil
 * @param index The index of the note to get (the first note having the index 0).
 * @return A pointer to a #LinphonePresenceNote object if successful, NULL otherwise. @maybenil
 */
LINPHONE_PUBLIC LinphonePresenceNote * linphone_presence_person_get_nth_note(const LinphonePresencePerson *person, unsigned int idx);
LINPHONE_PUBLIC LinphonePresenceNote * linphone_presence_person_get_nth_note(const LinphonePresencePerson *person, unsigned int index);
/**
 * Adds a note to a presence person.
 * @param[in] person The #LinphonePresencePerson object for which to add a note.
 * @param[in] note The #LinphonePresenceNote object to add to the person.
 * @param person The #LinphonePresencePerson object for which to add a note. @notnil
 * @param note The #LinphonePresenceNote object to add to the person. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_person_add_note(LinphonePresencePerson *person, LinphonePresenceNote *note);
/**
 * Clears the notes of a presence person.
 * @param[in] person The #LinphonePresencePerson object for which to clear the notes.
 * @param person The #LinphonePresencePerson object for which to clear the notes. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_person_clear_notes(LinphonePresencePerson *person);
/**
 * Gets the number of activities notes included in the presence person.
 * @param[in] person The #LinphonePresencePerson object to get the number of activities notes from.
 * @param person The #LinphonePresencePerson object to get the number of activities notes from. @notnil
 * @return The number of activities notes included in the #LinphonePresencePerson object.
 */
LINPHONE_PUBLIC unsigned int linphone_presence_person_get_nb_activities_notes(const LinphonePresencePerson *person);
/**
 * Gets the nth activities note of a presence person.
 * @param[in] person The #LinphonePresencePerson object to get the activities note from.
 * @param[in] idx The index of the activities note to get (the first note having the index 0).
 * @return A pointer to a #LinphonePresenceNote object if successful, NULL otherwise.
 * @param person The #LinphonePresencePerson object to get the activities note from. @notnil
 * @param index The index of the activities note to get (the first note having the index 0).
 * @return A pointer to a #LinphonePresenceNote object if successful, NULL otherwise. @maybenil
 */
LINPHONE_PUBLIC LinphonePresenceNote * linphone_presence_person_get_nth_activities_note(const LinphonePresencePerson *person, unsigned int idx);
LINPHONE_PUBLIC LinphonePresenceNote * linphone_presence_person_get_nth_activities_note(const LinphonePresencePerson *person, unsigned int index);
/**
 * Adds an activities note to a presence person.
 * @param[in] person The #LinphonePresencePerson object for which to add an activities note.
 * @param[in] note The #LinphonePresenceNote object to add to the person.
 * @param person The #LinphonePresencePerson object for which to add an activities note. @notnil
 * @param note The #LinphonePresenceNote object to add to the person. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_person_add_activities_note(LinphonePresencePerson *person, LinphonePresenceNote *note);
/**
 * Clears the activities notes of a presence person.
 * @param[in] person The #LinphonePresencePerson object for which to clear the activities notes.
 * @param person The #LinphonePresencePerson object for which to clear the activities notes. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_person_clear_activities_notes(LinphonePresencePerson *person);
@@ -534,16 +530,16 @@
/**
 * Creates a presence activity.
 * @param[in] acttype The #LinphonePresenceActivityType to set for the activity.
 * @param[in] description An additional description of the activity to set for the activity. Can be NULL if no additional description is to be added.
 * @return The created presence activity, NULL on error.
 * @param acttype The #LinphonePresenceActivityType to set for the activity. @notnil
 * @param description An additional description of the activity to set for the activity. Can be NULL if no additional description is to be added. @maybenil
 * @return The created presence activity, NULL on error. @maybenil
 */
LINPHONE_PUBLIC LinphonePresenceActivity * linphone_presence_activity_new(LinphonePresenceActivityType acttype, const char *description);
/**
 * Gets the string representation of a presence activity.
 * @param[in] activity A pointer to the #LinphonePresenceActivity object for which to get a string representation.
 * @return A pointer a dynamically allocated string representing the given activity.
 * @param activity A pointer to the #LinphonePresenceActivity object for which to get a string representation. @notnil
 * @return A pointer a dynamically allocated string representing the given activity. @notnil
 *
 * The returned string is to be freed by calling ms_free().
 */
@@ -551,30 +547,30 @@
/**
 * Gets the activity type of a presence activity.
 * @param[in] activity A pointer to the #LinphonePresenceActivity for which to get the type.
 * @param activity A pointer to the #LinphonePresenceActivity for which to get the type. @notnil
 * @return The #LinphonePresenceActivityType of the activity.
 */
LINPHONE_PUBLIC LinphonePresenceActivityType linphone_presence_activity_get_type(const LinphonePresenceActivity *activity);
/**
 * Sets the type of activity of a presence activity.
 * @param[in] activity The #LinphonePresenceActivity for which to set for the activity type.
 * @param[in] acttype The activity type to set for the activity.
 * @param activity The #LinphonePresenceActivity for which to set for the activity type. @notnil
 * @param acttype The #LinphonePresenceActivityType to set for the activity.
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_activity_set_type(LinphonePresenceActivity *activity, LinphonePresenceActivityType acttype);
/**
 * Gets the description of a presence activity.
 * @param[in] activity A pointer to the #LinphonePresenceActivity for which to get the description.
 * @return A pointer to the description string of the presence activity, or NULL if no description is specified.
 * @param activity A pointer to the #LinphonePresenceActivity for which to get the description. @notnil
 * @return A pointer to the description string of the presence activity, or NULL if no description is specified. @maybenil
 */
LINPHONE_PUBLIC const char * linphone_presence_activity_get_description(const LinphonePresenceActivity *activity);
/**
 * Sets the description of a presence activity.
 * @param[in] activity The #LinphonePresenceActivity object for which to set the description.
 * @param[in] description An additional description of the activity. Can be NULL if no additional description is to be added.
 * @param activity The #LinphonePresenceActivity object for which to set the description. @notnil
 * @param description An additional description of the activity. Can be NULL if no additional description is to be added. @maybenil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_activity_set_description(LinphonePresenceActivity *activity, const char *description);
@@ -586,38 +582,38 @@
/**
 * Creates a presence note.
 * @param[in] content The content of the note to be created.
 * @param[in] lang The language of the note to be created. Can be NULL if no language is to be specified for the note.
 * @return The created presence note, NULL on error.
 * @param content The content of the note to be created. @notnil
 * @param lang The language of the note to be created. Can be NULL if no language is to be specified for the note. @maybenil
 * @return The created presence note, NULL on error. @maybenil
 */
LINPHONE_PUBLIC LinphonePresenceNote * linphone_presence_note_new(const char *content, const char *lang);
/**
 * Gets the content of a presence note.
 * @param[in] note A pointer to the #LinphonePresenceNote for which to get the content.
 * @return A pointer to the content of the presence note.
 * @param note A pointer to the #LinphonePresenceNote for which to get the content. @notnil
 * @return A pointer to the content of the presence note. @notnil
 */
LINPHONE_PUBLIC const char * linphone_presence_note_get_content(const LinphonePresenceNote *note);
/**
 * Sets the content of a presence note.
 * @param[in] note The #LinphonePresenceNote object for which to set the content.
 * @param[in] content The content of the note.
 * @param note The #LinphonePresenceNote object for which to set the content. @notnil
 * @param content The content of the note. @notnil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_note_set_content(LinphonePresenceNote *note, const char *content);
/**
 * Gets the language of a presence note.
 * @param[in] note A pointer to the #LinphonePresenceNote for which to get the language.
 * @return A pointer to the language string of the presence note, or NULL if no language is specified.
 * @param note A pointer to the #LinphonePresenceNote for which to get the language. @notnil
 * @return A pointer to the language string of the presence note, or NULL if no language is specified. @maybenil
 */
LINPHONE_PUBLIC const char * linphone_presence_note_get_lang(const LinphonePresenceNote *note);
/**
 * Sets the language of a presence note.
 * @param[in] note The #LinphonePresenceNote object for which to set the language.
 * @param[in] lang The language of the note.
 * @param note The #LinphonePresenceNote object for which to set the language. @notnil
 * @param lang The language of the note. @maybenil
 * @return 0 if successful, a value < 0 in case of error.
 */
LINPHONE_PUBLIC LinphoneStatus linphone_presence_note_set_lang(LinphonePresenceNote *note, const char *lang);
@@ -629,52 +625,52 @@
/**
 * Increase the reference count of the #LinphonePresenceModel object.
 * @param[in] model The #LinphonePresenceModel object for which the reference count is to be increased.
 * @return The #LinphonePresenceModel object with the increased reference count.
 * @param model The #LinphonePresenceModel object for which the reference count is to be increased. @notnil
 * @return The #LinphonePresenceModel object with the increased reference count. @notnil
 */
LINPHONE_PUBLIC LinphonePresenceModel * linphone_presence_model_ref(LinphonePresenceModel *model);
/**
 * Decrease the reference count of the #LinphonePresenceModel object and destroy it if it reaches 0.
 * @param[in] model The #LinphonePresenceModel object for which the reference count is to be decreased.
 * @return The #LinphonePresenceModel object if the reference count is still positive, NULL if the object has been destroyed.
 * @param model The #LinphonePresenceModel object for which the reference count is to be decreased. @notnil
 * @return The #LinphonePresenceModel object if the reference count is still positive, NULL if the object has been destroyed. @maybenil
 */
LINPHONE_PUBLIC LinphonePresenceModel * linphone_presence_model_unref(LinphonePresenceModel *model);
/**
 * Sets the user data of a #LinphonePresenceModel object.
 * @param[in] model The #LinphonePresenceModel object for which to set the user data.
 * @param[in] user_data A pointer to the user data to set.
 * @param model The #LinphonePresenceModel object for which to set the user data. @notnil
 * @param user_data A pointer to the user data to set. @maybenil
 */
LINPHONE_PUBLIC void linphone_presence_model_set_user_data(LinphonePresenceModel *model, void *user_data);
/**
 * Gets the user data of a #LinphonePresenceModel object.
 * @param[in] model The #LinphonePresenceModel object for which to get the user data.
 * @return A pointer to the user data.
 * @param model The #LinphonePresenceModel object for which to get the user data. @notnil
 * @return A pointer to the user data. @maybenil
 */
LINPHONE_PUBLIC void * linphone_presence_model_get_user_data(const LinphonePresenceModel *model);
/**
 * Gets the capabilities of a #LinphonePresenceModel object.
 * @param[in] model The #LinphonePresenceModel object for which to set the contact.
 * @param model The #LinphonePresenceModel object for which to set the contact. @notnil
 * @return the capabilities.
 */
LINPHONE_PUBLIC int linphone_presence_model_get_capabilities(const LinphonePresenceModel *model);
/**
 * Returns whether or not the #LinphonePresenceModel object has a given capability.
 * @param[in] model The #LinphonePresenceModel object for which to set the contact.
 * @param[in] capability The capability to test.
 * @param model The #LinphonePresenceModel object for which to set the contact. @notnil
 * @param capability The capability to test.
 * @return whether or not the #LinphonePresenceModel object has a given capability.
 */
LINPHONE_PUBLIC bool_t linphone_presence_model_has_capability(const LinphonePresenceModel *model, const LinphoneFriendCapability capability);
/**
 * Returns whether or not the #LinphonePresenceModel object has a given capability with a certain version.
 * @param[in] model The #LinphonePresenceModel object for which to set the contact.
 * @param[in] capability The capability to test.
 * @param[in] version The wanted version to test.
 * @param model The #LinphonePresenceModel object for which to set the contact. @notnil
 * @param capability The #LinphoneFriendCapability to test.
 * @param version The wanted version to test.
 * @return whether or not the #LinphonePresenceModel object has a given capability with a certain version.
 */
LINPHONE_PUBLIC bool_t linphone_presence_model_has_capability_with_version(
@@ -685,9 +681,9 @@
/**
 * Returns whether or not the #LinphonePresenceModel object has a given capability with a certain version or more.
 * @param[in] model The #LinphonePresenceModel object for which to set the contact.
 * @param[in] capability The capability to test.
 * @param[in] version The wanted version to test.
 * @param model The #LinphonePresenceModel object for which to set the contact. @notnil
 * @param capability The #LinphoneFriendCapability to test.
 * @param version The wanted version to test.
 * @return whether or not the #LinphonePresenceModel object has a given capability with a certain version or more.
 */
LINPHONE_PUBLIC bool_t linphone_presence_model_has_capability_with_version_or_more(
@@ -698,121 +694,121 @@
/**
 * Returns the version of the capability of a #LinphonePresenceModel.
 * @param[in] model The #LinphonePresenceModel object for which to set the contact.
 * @param[in] capability The capability to test.
 * @param model The #LinphonePresenceModel object for which to set the contact. @notnil
 * @param capability The #LinphoneFriendCapability to test.
 * @return the version of the capability of a #LinphonePresenceModel or -1.0 if the model has not the capability.
 */
LINPHONE_PUBLIC float linphone_presence_model_get_capability_version(const LinphonePresenceModel *model, const LinphoneFriendCapability capability);
/**
 * Increase the reference count of the #LinphonePresenceService object.
 * @param[in] service The #LinphonePresenceService object for which the reference count is to be increased.
 * @return The #LinphonePresenceService object with the increased reference count.
 * @param service The #LinphonePresenceService object for which the reference count is to be increased. @notnil
 * @return The #LinphonePresenceService object with the increased reference count. @notnil
 */
LINPHONE_PUBLIC LinphonePresenceService * linphone_presence_service_ref(LinphonePresenceService *service);
/**
 * Decrease the reference count of the #LinphonePresenceService object and destroy it if it reaches 0.
 * @param[in] service The #LinphonePresenceService object for which the reference count is to be decreased.
 * @return The #LinphonePresenceService object if the reference count is still positive, NULL if the object has been destroyed.
 * @param service The #LinphonePresenceService object for which the reference count is to be decreased. @notnil
 * @return The #LinphonePresenceService object if the reference count is still positive, NULL if the object has been destroyed. @maybenil
 */
LINPHONE_PUBLIC LinphonePresenceService * linphone_presence_service_unref(LinphonePresenceService *service);
/**
 * Sets the user data of a #LinphonePresenceService object.
 * @param[in] service The #LinphonePresenceService object for which to set the user data.
 * @param[in] user_data A pointer to the user data to set.
 * @param service The #LinphonePresenceService object for which to set the user data. @notnil
 * @param user_data A pointer to the user data to set. @maybenil
 */
LINPHONE_PUBLIC void linphone_presence_service_set_user_data(LinphonePresenceService *service, void *user_data);
/**
 * Gets the user data of a #LinphonePresenceService object.
 * @param[in] service The #LinphonePresenceService object for which to get the user data.
 * @return A pointer to the user data.
 * @param service The #LinphonePresenceService object for which to get the user data. @notnil
 * @return A pointer to the user data. @maybenil
 */
LINPHONE_PUBLIC void * linphone_presence_service_get_user_data(const LinphonePresenceService *service);
/**
 * Increase the reference count of the #LinphonePresencePerson object.
 * @param[in] person The #LinphonePresencePerson object for which the reference count is to be increased.
 * @return The #LinphonePresencePerson object with the increased reference count.
 * @param person The #LinphonePresencePerson object for which the reference count is to be increased. @notnil
 * @return The #LinphonePresencePerson object with the increased reference count. @notnil
 */
LINPHONE_PUBLIC LinphonePresencePerson * linphone_presence_person_ref(LinphonePresencePerson *person);
/**
 * Decrease the reference count of the #LinphonePresencePerson object and destroy it if it reaches 0.
 * @param[in] person The #LinphonePresencePerson object for which the reference count is to be decreased.
 * @return The #LinphonePresencePerson object if the reference count is still positive, NULL if the object has been destroyed.
 * @param person The #LinphonePresencePerson object for which the reference count is to be decreased. @notnil
 * @return The #LinphonePresencePerson object if the reference count is still positive, NULL if the object has been destroyed. @maybenil
 */
LINPHONE_PUBLIC LinphonePresencePerson * linphone_presence_person_unref(LinphonePresencePerson *person);
/**
 * Sets the user data of a #LinphonePresencePerson object.
 * @param[in] person The #LinphonePresencePerson object for which to set the user data.
 * @param[in] user_data A pointer to the user data to set.
 * @param person The #LinphonePresencePerson object for which to set the user data. @notnil
 * @param user_data A pointer to the user data to set. @maybenil
 */
LINPHONE_PUBLIC void linphone_presence_person_set_user_data(LinphonePresencePerson *person, void *user_data);
/**
 * Gets the user data of a #LinphonePresencePerson object.
 * @param[in] person The #LinphonePresencePerson object for which to get the user data.
 * @return A pointer to the user data.
 * @param person The #LinphonePresencePerson object for which to get the user data. @notnil
 * @return A pointer to the user data. @maybenil
 */
LINPHONE_PUBLIC void * linphone_presence_person_get_user_data(const LinphonePresencePerson *person);
/**
 * Increase the reference count of the #LinphonePresenceActivity object.
 * @param[in] activity The #LinphonePresenceActivity object for which the reference count is to be increased.
 * @return The #LinphonePresenceActivity object with the increased reference count.
 * @param activity The #LinphonePresenceActivity object for which the reference count is to be increased. @notnil
 * @return The #LinphonePresenceActivity object with the increased reference count. @notnil
 */
LINPHONE_PUBLIC LinphonePresenceActivity * linphone_presence_activity_ref(LinphonePresenceActivity *activity);
/**
 * Decrease the reference count of the #LinphonePresenceActivity object and destroy it if it reaches 0.
 * @param[in] activity The #LinphonePresenceActivity object for which the reference count is to be decreased.
 * @return The #LinphonePresenceActivity object if the reference count is still positive, NULL if the object has been destroyed.
 * @param activity The #LinphonePresenceActivity object for which the reference count is to be decreased. @notnil
 * @return The #LinphonePresenceActivity object if the reference count is still positive, NULL if the object has been destroyed. @maybenil
 */
LINPHONE_PUBLIC LinphonePresenceActivity * linphone_presence_activity_unref(LinphonePresenceActivity *activity);
/**
 * Sets the user data of a #LinphonePresenceActivity object.
 * @param[in] activity The #LinphonePresenceActivity object for which to set the user data.
 * @param[in] user_data A pointer to the user data to set.
 * @param activity The #LinphonePresenceActivity object for which to set the user data. @notnil
 * @param user_data A pointer to the user data to set. @maybenil
 */
LINPHONE_PUBLIC void linphone_presence_activity_set_user_data(LinphonePresenceActivity *activity, void *user_data);
/**
 * Gets the user data of a #LinphonePresenceActivity object.
 * @param[in] activity The #LinphonePresenceActivity object for which to get the user data.
 * @return A pointer to the user data.
 * @param activity The #LinphonePresenceActivity object for which to get the user data. @notnil
 * @return A pointer to the user data. @maybenil
 */
LINPHONE_PUBLIC void * linphone_presence_activity_get_user_data(const LinphonePresenceActivity *activity);
/**
 * Increase the reference count of the #LinphonePresenceNote object.
 * @param[in] note The #LinphonePresenceNote object for which the reference count is to be increased.
 * @return The #LinphonePresenceNote object with the increased reference count.
 * @param note The #LinphonePresenceNote object for which the reference count is to be increased. @notnil
 * @return The #LinphonePresenceNote object with the increased reference count. @notnil
 */
LINPHONE_PUBLIC LinphonePresenceNote * linphone_presence_note_ref(LinphonePresenceNote *note);
/**
 * Decrease the reference count of the #LinphonePresenceNote object and destroy it if it reaches 0.
 * @param[in] note The #LinphonePresenceNote object for which the reference count is to be decreased.
 * @return The #LinphonePresenceNote object if the reference count is still positive, NULL if the object has been destroyed.
 * @param note The #LinphonePresenceNote object for which the reference count is to be decreased. @notnil
 * @return The #LinphonePresenceNote object if the reference count is still positive, NULL if the object has been destroyed. @maybenil
 */
LINPHONE_PUBLIC LinphonePresenceNote * linphone_presence_note_unref(LinphonePresenceNote *note);
/**
 * Sets the user data of a #LinphonePresenceNote object.
 * @param[in] note The #LinphonePresenceNote object for which to set the user data.
 * @param[in] user_data A pointer to the user data to set.
 * @param note The #LinphonePresenceNote object for which to set the user data. @notnil
 * @param user_data A pointer to the user data to set. @maybenil
 */
LINPHONE_PUBLIC void linphone_presence_note_set_user_data(LinphonePresenceNote *note, void *user_data);
/**
 * Gets the user data of a #LinphonePresenceNote object.
 * @param[in] note The #LinphonePresenceNote object for which to get the user data.
 * @return A pointer to the user data.
 * @param note The #LinphonePresenceNote object for which to get the user data. @notnil
 * @return A pointer to the user data. @maybenil
 */
LINPHONE_PUBLIC void * linphone_presence_note_get_user_data(const LinphonePresenceNote *note);