Rebase code with tizen 2.3 with following additional changes
[platform/core/multimedia/libmm-sound.git] / include / mm_sound_client.h
1 /*
2  * libmm-sound
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Seungbae Shin <seungbae.shin@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22 #ifndef __MM_SOUND_CLIENT_H__
23 #define __MM_SOUND_CLIENT_H__
24
25 #include "mm_sound_private.h"
26 #include "mm_sound_device.h"
27
28 //#define MEMTYPE_TRANS_PER_MAX (1024 * 1024) /* 1MB */
29
30 int MMSoundClientInit(void);
31 int MMSoundClientCallbackFini(void);
32 int MMSoundClientPlayTone(int number, int volume_config, double volume, int time, int *handle, bool enable_session);
33 int MMSoundClientPlaySound(MMSoundPlayParam *param, int tone, int keytone, int *handle);
34 int MMSoundClientStopSound(int handle);
35 int _mm_sound_client_is_route_available(mm_sound_route route, bool *is_available);
36 int _mm_sound_client_foreach_available_route_cb(mm_sound_available_route_cb, void *user_data);
37 int _mm_sound_client_set_active_route(mm_sound_route route, bool need_broadcast);
38 int _mm_sound_client_get_active_device(mm_sound_device_in *device_in, mm_sound_device_out *device_out);
39 int _mm_sound_client_add_active_device_changed_callback(const char *name, mm_sound_active_device_changed_cb func, void* user_data);
40 int _mm_sound_client_remove_active_device_changed_callback(const char *name);
41 int _mm_sound_client_add_available_route_changed_callback(mm_sound_available_route_changed_cb func, void* user_data);
42 int _mm_sound_client_remove_available_route_changed_callback(void);
43 int _mm_sound_client_add_volume_changed_callback(mm_sound_volume_changed_cb func, void* user_data);
44 int _mm_sound_client_remove_volume_changed_callback(void);
45 int _mm_sound_client_set_sound_path_for_active_device(mm_sound_device_out device_out, mm_sound_device_in device_in);
46 int _mm_sound_client_get_current_connected_device_list(int device_flgas, mm_sound_device_list_t **device_list);
47 int _mm_sound_client_add_device_connected_callback(int device_flags, mm_sound_device_connected_cb func, void* user_data);
48 int _mm_sound_client_remove_device_connected_callback(void);
49 int _mm_sound_client_add_device_info_changed_callback(int device_flags, mm_sound_device_info_changed_cb func, void* user_data);
50 int _mm_sound_client_remove_device_info_changed_callback(void);
51
52 #ifdef PULSE_CLIENT
53 int MMSoundClientIsBtA2dpOn (bool *connected, char** bt_name);
54 #endif
55 int _mm_sound_client_set_active_route_auto(void);
56 int _mm_sound_client_get_audio_path(mm_sound_device_in *device_in, mm_sound_device_out *device_out);
57
58 #endif /* __MM_SOUND_CLIENT_H__ */