summaryrefslogtreecommitdiff
path: root/include/audio-session-manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/audio-session-manager.h')
-rwxr-xr-xinclude/audio-session-manager.h143
1 files changed, 143 insertions, 0 deletions
diff --git a/include/audio-session-manager.h b/include/audio-session-manager.h
new file mode 100755
index 0000000..9a74181
--- /dev/null
+++ b/include/audio-session-manager.h
@@ -0,0 +1,143 @@
+/*
+ * audio-session-manager
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: Seungbae Shin <seungbae.shin@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _ASM_LIB_H_
+#define _ASM_LIB_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <audio-session-manager-types.h>
+/**
+ * @ingroup AUDIO_SESSION_MANAGER
+ * @defgroup AUDIO_SESSION_MANAGER Audio Session Manager
+ * @{
+ */
+
+/**
+ * This function register session to ASM server.
+ *
+ * @return This function returns @c true on success; @c false otherwise.
+ * @param[in] application_pid set (-1) if this library attached to application process.
+ * or set pid of actual application if this library attached to separated working process
+ * (e.g. client server style framework)
+ * @param[out] asm_handle handle of asm.
+ * @param[in] sound_event sound event of instance to requested register
+ * @param[in] sound_state set sound state ( 0 : None , 1 : Playing )
+ * @param[in] callback This callback function is called when sound status of other sound event is changed
+ * @param[in] cb_data This is data of callback function
+ * @param[in] mm_resource System resources will be used.
+ * @param[out] error_code specifies the error code
+ * @exception
+ */
+bool
+ASM_register_sound(const int application_pid, int *asm_handle, ASM_sound_events_t sound_event,
+ ASM_sound_states_t sound_state, ASM_sound_cb_t callback, void* cb_data, ASM_resource_t mm_resource, int *error_code);
+
+
+/**
+ * This function unregister sound event to ASM server. If unregistered, sound event is not playing.
+ *
+ * @return This function returns @c true on success; @c false otherwise.
+ * @param[in] sound_event sound event of instance to requested unregister
+ * @param[out] error_code specifies the error code
+ * @exception
+ */
+bool
+ASM_unregister_sound(const int asm_handle, ASM_sound_events_t sound_event, int *error_code);
+
+
+
+/**
+ * This function gets sound status from ASM server
+ *
+ * @return This function returns @c true on success; @c false otherwise.
+ * @param[out] all_sound_status Current Sound status of All sound events defined in sound conflict manager
+ * return value defined in ASM_sound_status_t
+ * Each bit is Sound Status Type( 0 : None , 1 : Playing )
+ * @param[out] error_code specifies the error code
+ * @exception
+ */
+bool
+ASM_get_sound_status(unsigned int *all_sound_status, int *error_code);
+
+
+/**
+ * This function gets sound state of sound event from ASM server
+ *
+ * @return This method returns @c true on success; @c false otherwise.
+ * @param[in] sound_event sound event for want to know sound state
+ * @param[out] sound_state result of sound state
+ * @param[out] error_code specifies the error code
+ * @exception
+ */
+bool
+ASM_get_sound_state(const int asm_handle, ASM_sound_events_t sound_event, ASM_sound_states_t *sound_state, int *error_code);
+
+/**
+ * This function gets sound state of given process from ASM server
+ *
+ * @return This method returns @c true on success; @c false otherwise.
+ * @param[in] asm_handle asm_handle.
+ * @param[out] sound_state result of sound state
+ * @param[out] error_code specifies the error code
+ * @exception
+ */
+bool
+ASM_get_process_session_state(const int asm_handle, ASM_sound_states_t *sound_state, int *error_code);
+
+/**
+ * This function set sound state to ASM server.
+ *
+ * @return This function returns @c true on success; @c false otherwise.
+ * @param[in] sound_event sound event of instance to requested setting
+ * @param[in] sound_state set sound state ( 0(ASM_SND_STATE_NONE) : None , 1(ASM_SND_STATE_PLAYING) : Playing )
+ * @param[in] mm_resource system resources will be used.
+ * @param[out] error_code specifies the error code
+ * @exception #ERR_asm_MSG_QUEUE_SND_ERROR - Is is failed to send to message queue.
+ */
+bool
+ASM_set_sound_state(const int asm_handle, ASM_sound_events_t sound_event, ASM_sound_states_t sound_state, ASM_resource_t mm_resource, int *error_code);
+
+
+
+/**
+ * This function ask sound policy to ASM server.
+ *
+ * @return No return value
+ * @param[in] playing_sound playing sound event
+ * @param[in] request_sound request sound event
+ * @param[out] sound_policy Return sound case between playing sound and request sound
+ */
+void
+ASM_ask_sound_policy(ASM_sound_events_t playing_sound, ASM_sound_events_t request_sound, ASM_sound_cases_t *sound_policy) __attribute__((deprecated)) ;
+
+bool
+ASM_change_callback(const int asm_handle, ASM_sound_events_t sound_event, ASM_sound_cb_t callback, void* cb_data, int *error_code);
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif