X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=docs%2Freference-v3%2Ffunc-api.md;h=454bc0f6be44f31c200da9774f4d213ed6bf0bfc;hb=5214323d82cc09b15c25e348707f2639977ea763;hp=2f836cab5adda98076404b48bef98f6c2d131f2b;hpb=f44a28affea5841186250b66fd5ce72a8afbe349;p=src%2Fapp-framework-binder.git diff --git a/docs/reference-v3/func-api.md b/docs/reference-v3/func-api.md index 2f836cab..454bc0f6 100644 --- a/docs/reference-v3/func-api.md +++ b/docs/reference-v3/func-api.md @@ -58,7 +58,7 @@ void afb_api_set_userdata( * Check that it requires the API of 'name'. * If 'initialized' is not zero it requests the API to be * initialized, implying its initialization if needed. - * + * * Calling this function is only allowed within init. * * A single request allows to require multiple apis. @@ -255,13 +255,31 @@ int afb_api_rootdir_open_locale( const char *locale); ``` +### afb_api_settings + +```C +/** + * Settings of the api. + * + * Get the settings of the API. The settings are recorded + * as a JSON object. The returned object should not be modified. + * It MUST NOT be released using json_object_put. + * + * @param api the api whose settings are required + * + * @returns The setting object. + */ +struct json_object *afb_api_settings( + struct afb_api_x3 *api); +``` + ## Calls and job functions ### afb_api_call ```C /** - * Calls the 'verb' of the 'api' with the arguments 'args' and 'verb' in the name of the binding. + * Calls the 'verb' of the 'apiname' with the arguments 'args' and 'verb' in the name of the binding 'api'. * The result of the call is delivered to the 'callback' function with the 'callback_closure'. * * For convenience, the function calls 'json_object_put' for 'args'. @@ -275,6 +293,9 @@ int afb_api_rootdir_open_locale( * 4. 'info' a string handling some info (can be NULL) * 5. 'api' the api * + * NOTE: For convenience, *json_object_put* is called on 'object' after the + * callback returns. So, it is wrong to call *json_object_put* in the callback. + * * @param api The api that makes the call * @param apiname The api name of the method to call * @param verb The verb name of the method to call @@ -305,7 +326,7 @@ void afb_api_call( ```C /** - * Calls the 'verb' of the 'api' with the arguments 'args' and 'verb' in the name of the binding. + * Calls the 'verb' of the 'apiname' with the arguments 'args' and 'verb' in the name of the binding 'api'. * 'result' will receive the response. * * For convenience, the function calls 'json_object_put' for 'args'. @@ -579,9 +600,9 @@ struct sd_bus *afb_api_get_system_bus( * @param info the brief description of the new api (can be NULL) * @param noconcurrency zero or not zero whether the new api is reentrant or not * @param preinit the pre-initialization function if any (can be NULL) - * @param closure the closure for the pre-initialization \ref preinit + * @param closure the closure for the pre-initialization preinit * - * @return 0 in case of success or -1 on failure with errno set + * @return the created api in case of success or NULL on error * * @see afb_api_delete_api */ @@ -862,8 +883,10 @@ of work. /** * @deprecated try to use @ref afb_api_call instead * - * * Calls the 'verb' of the 'api' with the arguments 'args' and 'verb' in the name of the binding. - * The result of the call is delivered to the 'callback' function with the 'callback_closure'. + * Calls the 'verb' of the 'apiname' with the arguments 'args' and 'verb' + * in the name of the binding. + * The result of the call is delivered to the 'callback' function + * with the 'callback_closure'. * * For convenience, the function calls 'json_object_put' for 'args'. * Thus, in the case where 'args' should remain available after @@ -906,7 +929,8 @@ void afb_api_call_legacy( /** * @deprecated try to use @ref afb_api_call_sync instead * - * Calls the 'verb' of the 'api' with the arguments 'args' and 'verb' in the name of the binding. + * Calls the 'verb' of the 'apiname' with the arguments 'args' and 'verb' + * in the name of the binding. * 'result' will receive the response. * * For convenience, the function calls 'json_object_put' for 'args'.