bb5f5218bf4225fe8f6ed56f68591ebbd00c0d3b
[apps/core/preloaded/music-player.git] / src / core / include / mp-player-mgr.h
1 /*
2  * Copyright 2012         Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Flora License, Version 1.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *  http://www.tizenopensource.org/license
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef __MP_player_mgr_H_
18 #define __MP_player_mgr_H_
19
20 #include <sound_manager.h>
21 #include <player.h>
22 #include <vconf.h>
23
24
25 typedef enum {
26         MP_PLAYER_TYPE_MMFW,
27 } mp_player_type_e;
28
29 typedef void (*Seek_Done_Cb)(void *data);
30 typedef void (*mp_player_started_cb)(void *user_data);
31 typedef void (*mp_player_paused_cb)(void *user_data);
32
33 bool mp_player_mgr_is_active(void);
34 void mp_player_mgr_set_started_db(mp_player_started_cb callback, void *user_data);
35 void mp_player_mgr_set_completed_cb(player_completed_cb  callback, void *user_data);
36 void mp_player_mgr_set_interrupted_cb(player_interrupted_cb  callback, void *user_data);
37 void mp_player_mgr_set_error_cb(player_error_cb  callback, void *user_data);
38 void mp_player_mgr_set_buffering_cb(player_buffering_cb  callback, void *user_data);
39 void mp_player_mgr_set_prepare_cb(player_prepared_cb callback, void *user_data);
40 void mp_player_mgr_set_paused_cb(mp_player_paused_cb callback, void *user_data);
41 void mp_player_mgr_unset_completed_cb(void);
42 void mp_player_mgr_unset_interrupted_cb(void);
43 void mp_player_mgr_unset_error_cb(void);
44 void mp_player_mgr_unset_buffering_cb(void);
45
46 bool mp_player_mgr_create(void *data, const gchar * path, mp_player_type_e type, void *extra_data);
47 bool mp_player_mgr_destroy(void *data);
48 bool mp_player_mgr_realize(void *data);
49 bool mp_player_mgr_unrealize(void *data);
50 bool mp_player_mgr_play(void *data);
51 bool mp_player_mgr_stop(void *data);
52 bool mp_player_mgr_resume(void *data);
53 bool mp_player_mgr_pause(void *data);
54 void mp_player_mgr_set_mute(bool bMuteEnable);
55 bool mp_player_mgr_set_position(guint pos, Seek_Done_Cb done_cb, void *data);
56 bool mp_player_mgr_set_play_speed(double speed);
57 int mp_player_mgr_get_position(void);
58 int mp_player_mgr_get_duration(void);
59 int mp_player_mgr_vol_type_set(void);
60 int mp_player_mgr_vol_type_unset(void);
61 bool mp_player_mgr_session_init(void);
62 bool mp_player_mgr_session_finish(void);
63
64 player_state_e mp_player_mgr_get_state(void);
65 bool mp_player_mgr_change_player(mp_player_type_e player_type);
66
67 #endif //__MP_player_mgr_H_