diff --git a/include/linphone/api/c-types.h b/include/linphone/api/c-types.h index 0521ff9da142614995d956c9050698fd5b61f1d2..5f5b9c9808dce92e1a995e4ad18d443a07fd0822 100644 --- a/include/linphone/api/c-types.h +++ b/include/linphone/api/c-types.h @@ -90,7 +90,7 @@ typedef struct _LinphoneAuthInfo LinphoneAuthInfo; * A SIP address is made of display name, username, domain name, port, and various * uri headers (such as tags). It looks like 'Alice <sip:alice@example.net>'. * - * You can create an address using linphone_factory_create_address() or linphone_core_interpret_url(), + * You can create an address using linphone_factory_create_address() or linphone_core_interpret_url() * and both will return a NULL object if it doesn't match the grammar defined by the standard. * * This object is used in almost every other major objects to identity people (including yourself) & servers. @@ -133,7 +133,7 @@ typedef struct _LinphoneConferenceCbs LinphoneConferenceCbs; * @brief Identifies a member of a #LinphoneConference or #LinphoneChatRoom. * * A participant is identified by it's SIP address. - * It can have many devices, @see #LinphoneParticipantDevice. + * It can have many #LinphoneParticipantDevice. * @ingroup conference */ typedef struct _LinphoneParticipant LinphoneParticipant; @@ -161,7 +161,7 @@ typedef struct _LinphoneParticipantDevice LinphoneParticipantDevice; typedef struct _LinphoneParticipantImdnState LinphoneParticipantImdnState; /** - * @brief This object is only used on server side for group chat rooms. + * @brief This object is only used on server side for #LinphoneChatRoom with #LinphoneChatRoomBackendFlexisipChat backend. * @ingroup conference */ typedef struct _LinphoneParticipantDeviceIdentity LinphoneParticipantDeviceIdentity; @@ -264,7 +264,7 @@ typedef struct _LinphoneAudioDevice LinphoneAudioDevice; * On the receiving side, either use linphone_chat_message_download_content() to download received files or enable auto-download in the #LinphoneCore using * linphone_core_set_max_size_for_auto_download_incoming_files(), -1 disabling the feature and 0 always downloading files no matter it's size. * - * Keep in mind a #LinphoneChatMessage created by a 'Basic' #LinphoneChatRoom can only contain one #LinphoneContent, either text or file. + * Keep in mind a #LinphoneChatMessage created by a #LinphoneChatRoomBackendBasic #LinphoneChatRoom can only contain one #LinphoneContent, either text or file. * @ingroup chatroom */ typedef struct _LinphoneChatMessage LinphoneChatMessage; @@ -280,10 +280,10 @@ typedef struct _LinphoneChatMessageCbs LinphoneChatMessageCbs; * * To create (or find) a #LinphoneChatRoom, you first need a #LinphoneChatRoomParams object. * A chat room is uniquely identified by it's local and remote SIP addresses, meaning you can - * only have one chat room between two accounts (unless the backend is 'Flexisip'). + * only have one chat room between two accounts (unless the backend is #LinphoneChatRoomBackendFlexisipChat). * Then you can call linphone_core_search_chat_room() or linphone_core_create_chat_room_6(). * - * Be careful as a 'Flexisip' backend #LinphoneChatRoom will be created asynchronously, so + * Be careful as a #LinphoneChatRoomBackendFlexisipChat backend #LinphoneChatRoom will be created asynchronously, so * make sure you add a #LinphoneChatRoomCbs to the returned object to be notified * when it will be in state #LinphoneChatRoomStateCreated. * @@ -301,8 +301,8 @@ typedef struct _LinphoneChatRoom LinphoneChatRoom; * Can be created with linphone_core_create_default_chat_room_params(). * You can use linphone_chat_room_params_is_valid() to check if your configuration is valid or not. * - * If the #LinphoneChatRoom backend is 'Basic', then no other parameter is required, - * but #LinphoneChatMessage sent and received won't benefit from all features a 'FlexisipBackend' can offer + * If the #LinphoneChatRoom backend is #LinphoneChatRoomBackendBasic, then no other parameter is required, + * but #LinphoneChatMessage sent and received won't benefit from all features a #LinphoneChatRoomBackendFlexisipChat can offer * like conversation with multiple participants and a subject, end-to-end encryption, ephemeral messages, etc... * but this type is the only one that can interoperate with other SIP clients or with non-flexisip SIP proxies. * @ingroup chatroom diff --git a/include/linphone/call_log.h b/include/linphone/call_log.h index 487a9cd5dedac794b985b6c7107a2da11dd79a73..bbc97023ada3b36091b76a068fb872ef005c716a 100644 --- a/include/linphone/call_log.h +++ b/include/linphone/call_log.h @@ -207,7 +207,7 @@ LINPHONE_PUBLIC LinphoneCallLog * linphone_call_log_ref(LinphoneCallLog *call_lo LINPHONE_PUBLIC void linphone_call_log_unref(LinphoneCallLog *call_log); /** - * Creates a fake LinphoneCallLog. + * Creates a fake #LinphoneCallLog. * @param core #LinphoneCore object @notnil * @param from #LinphoneAddress of caller @notnil * @param to #LinphoneAddress of callee @notnil diff --git a/include/linphone/factory.h b/include/linphone/factory.h index a89e180550047b00612f33b04db60b6c45f6cdaf..b85fbdb5e286a68e835c4f6f91e6c6ed2ca206e0 100644 --- a/include/linphone/factory.h +++ b/include/linphone/factory.h @@ -62,7 +62,7 @@ LINPHONE_PUBLIC void linphone_factory_clean(void); * @param system_context A pointer to a system object required by the core to operate. Currently it is required to * pass an android Context on android, pass NULL on other platforms. @maybenil * @return a #LinphoneCore object @notnil - * @see linphone_core_new_with_config_3 + * @see linphone_core_new_with_config_3() */ LINPHONE_PUBLIC LinphoneCore *linphone_factory_create_core_3 ( const LinphoneFactory *factory, @@ -101,7 +101,7 @@ LINPHONE_PUBLIC LinphoneCore *linphone_factory_create_core_3 ( * @param app_group_id Name of iOS App Group that lead to the file system that is shared between an app and its app extensions. @notnil * @param main_core Indicate if we want to create a "Main Core" or an "Executor Core". * @return a #LinphoneCore object @notnil - * @see linphone_factory_create_shared_core_with_config + * @see linphone_factory_create_shared_core_with_config() */ LINPHONE_PUBLIC LinphoneCore *linphone_factory_create_shared_core ( const LinphoneFactory *factory, @@ -125,7 +125,7 @@ LINPHONE_PUBLIC LinphoneCore *linphone_factory_create_shared_core ( * @param system_context A pointer to a system object required by the core to operate. Currently it is required to * pass an android Context on android, pass NULL on other platforms. @maybenil * @return a #LinphoneCore object @notnil - * @see linphone_factory_create_core_3 + * @see linphone_factory_create_core_3() */ LINPHONE_PUBLIC LinphoneCore *linphone_factory_create_core_with_config_3 ( const LinphoneFactory *factory, @@ -157,7 +157,7 @@ LINPHONE_PUBLIC LinphoneCore *linphone_factory_create_core_with_config_3 ( * @param app_group_id Name of iOS App Group that lead to the file system that is shared between an app and its app extensions. @notnil * @param main_core Indicate if we want to create a "Main Core" or an "Executor Core". * @return a #LinphoneCore object @notnil - * @see linphone_factory_create_shared_core + * @see linphone_factory_create_shared_core() */ LINPHONE_PUBLIC LinphoneCore *linphone_factory_create_shared_core_with_config ( const LinphoneFactory *factory, @@ -613,7 +613,7 @@ LINPHONE_PUBLIC const char *linphone_factory_get_download_dir(LinphoneFactory *f * to store hard-coded preference such as proxy settings or internal preferences. * The settings in this factory file always override the one in the normal config file. * It is OPTIONAL, use NULL if unneeded. - * @see linphone_core_new_with_config + * @see linphone_core_new_with_config() * @deprecated 2018-01-10: Use linphone_factory_create_core_3() instead * @donotwrap */ @@ -643,7 +643,7 @@ LINPHONE_DEPRECATED LINPHONE_PUBLIC LinphoneCore *linphone_factory_create_core( * It is OPTIONAL, use NULL if unneeded. * @param user_data an application pointer associated with the returned core. * @param system_context a pointer to a system object required by the core to operate. Currently it is required to pass an android Context on android, pass NULL on other platforms. - * @see linphone_core_new_with_config + * @see linphone_core_new_with_config() * @deprecated 2018-01-10: Use linphone_factory_create_core_3() instead * @donotwrap */ @@ -666,7 +666,7 @@ LINPHONE_DEPRECATED LINPHONE_PUBLIC LinphoneCore *linphone_factory_create_core_2 * will be taken on it until the destruciton of the core or the unregistration * with linphone_core_remove_cbs(). * @param config a pointer to an LpConfig object holding the configuration of the #LinphoneCore to be instantiated. - * @see linphone_core_new + * @see linphone_core_new() * @deprecated 2018-01-10: Use linphone_factory_create_core_with_config_3() instead * @donotwrap */ @@ -688,7 +688,7 @@ LINPHONE_DEPRECATED LINPHONE_PUBLIC LinphoneCore *linphone_factory_create_core_w * @param config a pointer to an LpConfig object holding the configuration of the #LinphoneCore to be instantiated. * @param user_data an application pointer associated with the returned core. * @param system_context a pointer to a system object required by the core to operate. Currently it is required to pass an android Context on android, pass NULL on other platforms. - * @see linphone_core_new + * @see linphone_core_new() * @deprecated 2018-01-10: Use linphone_factory_create_core_with_config_3() instead * @donotwrap */ diff --git a/include/linphone/logging.h b/include/linphone/logging.h index 49a8d55457c38dd607edae32e15d5c491d8bed2e..fedafa16a09839cb425e985bfbe66e33edd1154f 100644 --- a/include/linphone/logging.h +++ b/include/linphone/logging.h @@ -38,7 +38,7 @@ extern "C" { * It supports custom domain, writing into a file as well as several verbosity levels. * The #LinphoneLoggingServiceCbs listener allows you to be notified each time a log is printed. * - * As the #LoggingService is a singleton, use linphone_logging_service_get() to get it. + * As the #LinphoneLoggingService is a singleton, use linphone_logging_service_get() to get it. */ typedef struct _LinphoneLoggingService LinphoneLoggingService; diff --git a/include/linphone/types.h b/include/linphone/types.h index f4a5c28ecd7bb40c9cdeaa603d6f8facb3f8a5a6..ce2f91cdac2a26bb231e4e2252b68611986b2a25 100644 --- a/include/linphone/types.h +++ b/include/linphone/types.h @@ -52,9 +52,8 @@ typedef struct _LinphoneProxyConfig LinphoneProxyConfig; /** - * @brief The object used to configure an account on a server via XML-RPC. - * - * @see https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Features/Override%20account%20creator%20request/ + * @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; @@ -271,10 +270,10 @@ typedef struct _LinphoneFriend LinphoneFriend; * @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 */ + 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; /** @@ -296,9 +295,9 @@ typedef struct _LinphoneFriendListCbs LinphoneFriendListCbs; * @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 */ + LinphoneFriendListOK, /**< Operation went fine */ + LinphoneFriendListNonExistentFriend, /**< #LinphoneFriend wasn't found in the #LinphoneFriendList */ + LinphoneFriendListInvalidFriend /**< #LinphoneFriend is already present in a #LinphoneFriendList */ } LinphoneFriendListStatus; /** @@ -306,9 +305,9 @@ typedef enum _LinphoneFriendListStatus { * @ingroup buddy_list */ typedef enum _LinphoneFriendListSyncStatus { - LinphoneFriendListSyncStarted, /** Synchronization started */ - LinphoneFriendListSyncSuccessful, /** Synchronization finished successfuly */ - LinphoneFriendListSyncFailure /** Synchronization failed */ + LinphoneFriendListSyncStarted, /**< Synchronization started */ + LinphoneFriendListSyncSuccessful, /**< Synchronization finished successfuly */ + LinphoneFriendListSyncFailure /**< Synchronization failed */ } LinphoneFriendListSyncStatus; // ----------------------------------------------------------------------------- @@ -389,7 +388,7 @@ typedef enum _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_core3() or linphone_factory_create_core_with_config_3(), + * 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. * @@ -1134,7 +1133,7 @@ typedef enum _LinphoneUpnpState { } LinphoneUpnpState; /** - * @brief The #LinphoneVcard object. + * @brief Object storing contact information using vCard 4.0 format. * @ingroup carddav_vcard */ typedef struct _LinphoneVcard LinphoneVcard; diff --git a/tools/metadoc.py b/tools/metadoc.py index ca65494e4e4daca5459d0f8d014e6cb67b8b969f..8a0f2a6e605b596ba09c5d1b69263e53d858a110 100644 --- a/tools/metadoc.py +++ b/tools/metadoc.py @@ -499,10 +499,15 @@ class Translator: while len(line) > width: cutIndex = line.rfind(' ', 0, width) if cutIndex != -1: + if self.langCode == 'Java': + # Do not break a line in the middle of a { } + while (not line[0:cutIndex].count('{') == line[0:cutIndex].count('}')) and (not line[cutIndex:].count('{') == line[cutIndex:].count('}')): + cutIndex += 1 lines.append(line[0:cutIndex]) line = line[cutIndex+1:] else: - cutIndex = width + # Don't break http links + cutIndex = len(line) if ('http://' or 'https://') in line else width lines.append(line[0:cutIndex]) line = line[cutIndex:] lines.append(line) @@ -557,17 +562,17 @@ class JavaDocTranslator(DoxygenTranslator): pass def translate_class_reference(self, ref, **kargs): - if not isinstance(ref.relatedObject, (abstractapi.Class, abstractapi.Enum)): + if not isinstance(ref.relatedObject, (abstractapi.Class, abstractapi.Enum, abstractapi.Interface)): raise ReferenceTranslationError(ref.cname) return '{@link ' + Translator.translate_reference(self, ref) + '}' def _translate_section(self, section): if section.kind == 'see': - return 'See also: {0}'.format(self._translate_paragraph(section.paragraph)) + return 'see: {0}'.format(self._translate_paragraph(section.paragraph)) if section.kind == 'note': - return 'Note: {0}'.format(self._translate_paragraph(section.paragraph)) + return 'note: {0}'.format(self._translate_paragraph(section.paragraph)) if section.kind == 'warning': - return 'Warning: {0}'.format(self._translate_paragraph(section.paragraph)) + return 'warning: {0}'.format(self._translate_paragraph(section.paragraph)) return '@{0} {1}'.format( section.kind, @@ -582,6 +587,15 @@ class JavaDocTranslator(DoxygenTranslator): methodName = ref.relatedObject.name.translate(self.nameTranslator) return '{@link ' + className + '#' + methodName + '}' + def _translate_parameter_list(self, parameterList): + text = '' + for paramDesc in parameterList.parameters: + if self.displaySelfParam or not paramDesc.is_self_parameter(): + desc = self._translate_description(paramDesc.desc) + desc = desc[0] if len(desc) > 0 else '' + text += ('@param {0} {1}\n'.format(paramDesc.name.translate(self.nameTranslator), desc)) + return text + class SwiftDocTranslator(JavaDocTranslator): def __init__(self): diff --git a/wrappers/java/java_class.mustache b/wrappers/java/java_class.mustache index 4e88540e60348259b00c637aca638894033431d7..f6093c1a69e283fad9a8ad81adaea3ab02407bc7 100644 --- a/wrappers/java/java_class.mustache +++ b/wrappers/java/java_class.mustache @@ -40,13 +40,13 @@ import org.linphone.mediastream.Version; /** {{#briefDoc}} {{#lines}} -* {{{line}}} +* {{{line}}}<br/> {{/lines}} {{/briefDoc}} {{#detailedDoc}} -* +* <br/> {{#lines}} -* {{{line}}} +* {{{line}}}<br/> {{/lines}} {{/detailedDoc}} */ @@ -57,13 +57,13 @@ public {{#isLinphoneFactory}}abstract class{{/isLinphoneFactory}}{{#isNotLinphon /** {{#briefDoc}} {{#lines}} - * {{{line}}} + * {{{line}}}<br/> {{/lines}} {{/briefDoc}} {{#detailedDoc}} - * + * <br/> {{#lines}} - * {{{line}}} + * {{{line}}}<br/> {{/lines}} {{/detailedDoc}} */ @@ -126,13 +126,13 @@ public {{#isLinphoneFactory}}abstract class{{/isLinphoneFactory}}{{#isNotLinphon /** {{#briefDoc}} {{#lines}} - * {{{line}}} + * {{{line}}}<br/> {{/lines}} {{/briefDoc}} {{#detailedDoc}} - * + * <br/> {{#lines}} - * {{{line}}} + * {{{line}}}<br/> {{/lines}} {{/detailedDoc}} */ diff --git a/wrappers/java/java_enum.mustache b/wrappers/java/java_enum.mustache index 7a56a865730b521659f2676f5011a4f47faaacda..a64299797e219499eff9bbc67bf6c4721dc88955 100644 --- a/wrappers/java/java_enum.mustache +++ b/wrappers/java/java_enum.mustache @@ -28,13 +28,13 @@ import {{import}} /** {{#briefDoc}} {{#lines}} -* {{{line}}} +* {{{line}}}<br/> {{/lines}} {{/briefDoc}} {{#detailedDoc}} -* +* <br/> {{#lines}} -* {{{line}}} +* {{{line}}}<br/> {{/lines}} {{/detailedDoc}} */ @@ -43,13 +43,13 @@ public enum {{{className}}} { /** {{#briefDoc}} {{#lines}} - * {{{line}}} + * {{{line}}}<br/> {{/lines}} {{/briefDoc}} {{#detailedDoc}} - * + * <br/> {{#lines}} - * {{{line}}} + * {{{line}}}<br/> {{/lines}} {{/detailedDoc}} */ diff --git a/wrappers/java/java_enum_old.mustache b/wrappers/java/java_enum_old.mustache index 8627798d3d82460efcadc624b3cf1d855840d5d8..6a97a7f73e628f4ec39a4ca2cb770ad14302a743 100644 --- a/wrappers/java/java_enum_old.mustache +++ b/wrappers/java/java_enum_old.mustache @@ -26,13 +26,13 @@ import {{import}} /** {{#briefDoc}} {{#lines}} -* {{{line}}} +* {{{line}}}<br/> {{/lines}} {{/briefDoc}} -* +* <br/> {{#detailedDoc}} {{#lines}} -* {{{line}}} +* {{{line}}}<br/> {{/lines}} {{/detailedDoc}} */ @@ -43,13 +43,13 @@ static public class {{className}} { /** {{#briefDoc}} {{#lines}} - * {{{line}}} + * {{{line}}}<br/> {{/lines}} {{/briefDoc}} - * + * <br/> {{#detailedDoc}} {{#lines}} - * {{{line}}} + * {{{line}}}<br/> {{/lines}} {{/detailedDoc}} */ diff --git a/wrappers/java/java_interface.mustache b/wrappers/java/java_interface.mustache index f532549d35986be91a7ce51794ae30451f232848..3c44be88de96d4699da9b5c04b348c5f03d1f16c 100644 --- a/wrappers/java/java_interface.mustache +++ b/wrappers/java/java_interface.mustache @@ -28,13 +28,13 @@ import {{import}} /** {{#briefDoc}} {{#lines}} -* {{{line}}} +* {{{line}}}<br/> {{/lines}} {{/briefDoc}} {{#detailedDoc}} -* +* <br/> {{#lines}} -* {{{line}}} +* {{{line}}}<br/> {{/lines}} {{/detailedDoc}} */ @@ -43,13 +43,13 @@ public interface {{className}} { /** {{#briefDoc}} {{#lines}} - * {{{line}}} + * {{{line}}}<br/> {{/lines}} {{/briefDoc}} {{#detailedDoc}} - * + * <br/> {{#lines}} - * {{{line}}} + * {{{line}}}<br/> {{/lines}} {{/detailedDoc}} */ diff --git a/wrappers/java/package_info.mustache b/wrappers/java/package_info.mustache index 563e50489f342852dca58d3c03fde02ba0cfd0e2..04a85c7c185aa54c1b47d50694d3b47843bad0cd 100644 --- a/wrappers/java/package_info.mustache +++ b/wrappers/java/package_info.mustache @@ -1,9 +1,9 @@ /** - * <a href="http://www.linphone.org">Liblinphone</a> is a high-level open source library that integrates all the SIP voice/video and instant messaging features into a single easy-to-use API.</br> - * This is the VoIP SDK engine on which Linphone applications are based.</br> - * </br> - * Liblinphone combines our media processing and streaming toolkit (Mediastreamer2) with our user-agent library for SIP signaling (belle-sip).</br> - * Liblinphone has support for a variety of languages, each one has its own reference documentation:</br> + * <a href="http://www.linphone.org">Liblinphone</a> is a high-level open source library that integrates all the SIP voice/video and instant messaging features into a single easy-to-use API.<br/> + * This is the VoIP SDK engine on which Linphone applications are based.<br/> + * <br/> + * Liblinphone combines our media processing and streaming toolkit (Mediastreamer2) with our user-agent library for SIP signaling (belle-sip).<br/> + * Liblinphone has support for a variety of languages, each one has its own reference documentation:<br/> * <ul> * <li><a href="https://linphone.org/{{directory}}/docs/liblinphone/{{version}}/c">C</a></li> * <li><a href="https://linphone.org/{{directory}}/docs/liblinphone/{{version}}/c++">C++</a></li> @@ -12,8 +12,8 @@ * <li>C# (coming soon)</li> * <li>Python (coming soon)</li> * </ul> - * Liblinphone is distributed under <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3</a>. Please understand the licencing details before using it!</br> - * </br> - * For any use of this library beyond the rights granted to you by the GPLv3 license, please <a href="https://www.linphone.org/contact">contact Belledonne Communications</a>.</br> + * Liblinphone is distributed under <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3</a>. Please understand the licencing details before using it!<br/> + * <br/> + * For any use of this library beyond the rights granted to you by the GPLv3 license, please <a href="https://www.linphone.org/contact">contact Belledonne Communications</a>.<br/> */ package org.linphone.core; \ No newline at end of file