#include <stdbool.h>
int __mm_sound_mgr_focus_ipc_register_focus(int client_pid, int handle_id, const char* stream_type, bool is_for_session);
-int __mm_sound_mgr_focus_ipc_set_focus_reacquisition(int pid, int handle_id, bool reacquisition);
+int __mm_sound_mgr_focus_ipc_set_focus_reacquisition(int pid, int handle_id, bool reacquisition, bool is_for_session);
int __mm_sound_mgr_focus_ipc_get_acquired_focus_stream_type(int focus_type, char **stream_type, int *option, char **ext_info);
int __mm_sound_mgr_focus_ipc_acquire_focus(int pid, int handle_id, int focus_type, int option, const char *ext_info, bool is_for_session);
int __mm_sound_mgr_focus_ipc_release_focus(int pid, int handle_id, int focus_type, int option, const char *ext_info, bool is_for_session);
" <arg name='pid' type='i' direction='in'/>"
" <arg name='handle_id' type='i' direction='in'/>"
" <arg name='reacquisition' type='b' direction='in'/>"
+ " <arg name='is_for_session' type='b' direction='in'/>"
" </method>"
" <method name='GetAcquiredFocusStreamType'>"
" <arg name='focus_type' type='i' direction='in'/>"
int ret = MM_ERROR_NONE;
int pid = 0, handle_id = 0;
gboolean reacquisition;
+ gboolean is_for_session;
GVariant *params = NULL;
debug_fenter();
goto send_reply;
}
- g_variant_get(params, "(iib)", &pid, &handle_id, &reacquisition);
- ret = __mm_sound_mgr_focus_ipc_set_focus_reacquisition(_get_sender_pid(invocation), handle_id, reacquisition);
+ g_variant_get(params, "(iibb)", &pid, &handle_id, &reacquisition, &is_for_session);
+ ret = __mm_sound_mgr_focus_ipc_set_focus_reacquisition(_get_sender_pid(invocation), handle_id, reacquisition, is_for_session);
send_reply:
if (ret == MM_ERROR_NONE) {
}
// method -> callback
-int __mm_sound_mgr_focus_ipc_set_focus_reacquisition(int pid, int handle_id, bool reacquisition)
+int __mm_sound_mgr_focus_ipc_set_focus_reacquisition(int pid, int handle_id, bool reacquisition, bool is_for_session)
{
_mm_sound_mgr_focus_param_t param;
int ret = MM_ERROR_NONE;
param.pid = pid;
param.handle_id = handle_id;
param.reacquisition = reacquisition;
- param.is_for_session = false;
+ param.is_for_session = is_for_session;
ret = mm_sound_mgr_focus_set_reacquisition(¶m);
int mm_sound_client_is_focus_cb_thread(GThread *mine, bool *result);
int mm_sound_client_register_focus(int id, int pid, const char *stream_type, mm_sound_focus_changed_cb callback, bool is_for_session, void* user_data);
int mm_sound_client_unregister_focus(int id);
-int mm_sound_client_set_focus_reacquisition(int id, bool reacquisition);
+int mm_sound_client_set_focus_reacquisition(int id, bool reacquisition, bool is_for_session);
int mm_sound_client_get_focus_reacquisition(int id, bool *reacquisition);
int mm_sound_client_get_acquired_focus_stream_type(int focus_type, char **stream_type, int *option, char **ext_info);
int mm_sound_client_acquire_focus(int id, mm_sound_focus_type_e type, int option, const char *ext_info);
int mm_sound_register_focus_for_session(int id, int pid, const char *stream_type, mm_sound_focus_changed_cb callback, void *user_data);
int mm_sound_unregister_focus(int id);
int mm_sound_set_focus_reacquisition(int id, bool reacquisition);
+int mm_sound_set_focus_reacquisition_for_session(int id, bool reacquisition);
int mm_sound_get_focus_reacquisition(int id, bool *reacquisition);
int mm_sound_get_stream_type_of_acquired_focus(int focus_type, char **stream_type, int *option, char **ext_info);
int mm_sound_acquire_focus(int id, mm_sound_focus_type_e focus_type, const char *ext_info);
int mm_sound_proxy_get_unique_id(int *id);
int mm_sound_proxy_register_focus(int id, int instance, const char *stream_type, mm_sound_focus_changed_cb callback, bool is_for_session, void* user_data);
int mm_sound_proxy_unregister_focus(int instance, int id, bool is_for_session);
-int mm_sound_proxy_set_foucs_reacquisition(int instance, int id, bool reacquisition);
+int mm_sound_proxy_set_focus_reacquisition(int instance, int id, bool reacquisition, bool is_for_session);
int mm_sound_proxy_get_acquired_focus_stream_type(int focus_type, char **stream_type, int *option, char **ext_info);
int mm_sound_proxy_acquire_focus(int instance, int id, mm_sound_focus_type_e type, int option, const char *ext_info, bool is_for_session);
int mm_sound_proxy_release_focus(int instance, int id, mm_sound_focus_type_e type, int option, const char *ext_info, bool is_for_session);
return ret;
}
-int mm_sound_client_set_focus_reacquisition(int id, bool reacquisition)
+int mm_sound_client_set_focus_reacquisition(int id, bool reacquisition, bool is_for_session)
{
int ret = MM_ERROR_NONE;
int instance;
debug_error("[Client] mm_sound_client_is_focus_cb_thread failed");
goto cleanup;
} else if (!result) {
- ret = mm_sound_proxy_set_foucs_reacquisition(instance, id, reacquisition);
+ ret = mm_sound_proxy_set_focus_reacquisition(instance, id, reacquisition, is_for_session);
if (ret == MM_ERROR_NONE) {
debug_msg("[Client] Success to set focus reacquisition to [%d]\n", reacquisition);
} else {
return MM_ERROR_INVALID_ARGUMENT;
}
- ret = mm_sound_client_set_focus_reacquisition(id, reacquisition);
- if (ret) {
+ if ((ret = mm_sound_client_set_focus_reacquisition(id, reacquisition, false)))
debug_error("Could not set focus reacquisition, ret[0x%x]\n", ret);
+
+ debug_fleave();
+
+ return ret;
+}
+
+EXPORT_API
+int mm_sound_set_focus_reacquisition_for_session(int id, bool reacquisition)
+{
+ int ret = MM_ERROR_NONE;
+
+ debug_fenter();
+
+ if (id < 0) {
+ debug_error("argument is not valid\n");
+ return MM_ERROR_INVALID_ARGUMENT;
}
+ if ((ret = mm_sound_client_set_focus_reacquisition(id, reacquisition, true)))
+ debug_error("Could not set focus reacquisition, ret[0x%x]\n", ret);
+
debug_fleave();
return ret;
return ret;
}
-int mm_sound_proxy_set_foucs_reacquisition(int instance, int id, bool reacquisition)
+int mm_sound_proxy_set_focus_reacquisition(int instance, int id, bool reacquisition, bool is_for_session)
{
int ret = MM_ERROR_NONE;
GVariant *params = NULL, *result = NULL;
debug_fenter();
- params = g_variant_new("(iib)", instance, id, reacquisition);
+ params = g_variant_new("(iibb)", instance, id, reacquisition, is_for_session);
if (params) {
if ((ret = mm_sound_dbus_method_call_to(AUDIO_PROVIDER_FOCUS_SERVER, AUDIO_METHOD_SET_FOCUS_REACQUISITION, params, &result)) != MM_ERROR_NONE) {
debug_error("dbus set focus reacquisition failed");
Name: libmm-sound
Summary: MMSound Package contains client lib and sound_server binary
-Version: 0.10.100
+Version: 0.10.101
Release: 0
Group: System/Libraries
License: Apache-2.0