f65062596677ffca98890f249e5d9255e5c4d1c3
[platform/core/uifw/multi-assistant-service.git] / inc / service_common.h
1 #ifndef __SERVICE_COMMON_H__
2 #define __SERVICE_COMMON_H__
3
4 #include <app.h>
5 #include <glib.h>
6 #include <dlog/dlog.h>
7 #include <multi_assistant_common.h>
8 #include <multi_assistant_service.h>
9
10 #ifdef  LOG_TAG
11 #undef  LOG_TAG
12 #endif
13 #define LOG_TAG "multi-assistant"
14
15 #ifdef TEST_TYPE
16 #define conditional_public public
17 #else
18 #define conditional_public private
19 #endif
20
21 #define MAS_SECURE_LOG_(id, prio, tag, fmt, arg...) \
22                 ({ do { \
23                                 __dlog_print(id, prio, tag, "%s: %s(%d) > [SECURE_LOG] " fmt, __MODULE__, __func__, __LINE__, ##arg); \
24                 } while (0); })
25
26 #define MAS_LOG_(prio, tag, fmt, arg...) \
27                 ({ do { \
28                                 dlog_print(prio, tag, "%s: %s(%d) > " fmt, __MODULE__, __func__, __LINE__, ##arg); \
29                 } while (0); })
30
31 #define MAS_LOGD(fmt, args...) MAS_LOG_(DLOG_DEBUG, LOG_TAG, fmt, ##args)
32 #define MAS_LOGI(fmt, args...) MAS_LOG_(DLOG_INFO, LOG_TAG, fmt, ##args)
33 #define MAS_LOGW(fmt, args...) MAS_LOG_(DLOG_WARN, LOG_TAG, fmt, ##args)
34 #define MAS_LOGE(fmt, args...) MAS_LOG_(DLOG_ERROR, LOG_TAG, fmt, ##args)
35
36 #define MAS_SLOGD(fmt, args...) MAS_SECURE_LOG_(DLOG_DEBUG, LOG_TAG, fmt, ##args)
37 #define MAS_SLOGI(fmt, args...) MAS_SECURE_LOG_(DLOG_INFO, LOG_TAG, fmt, ##args)
38 #define MAS_SLOGW(fmt, args...) MAS_SECURE_LOG_(DLOG_WARN, LOG_TAG, fmt, ##args)
39 #define MAS_SLOGE(fmt, args...) MAS_SECURE_LOG_(DLOG_ERROR, LOG_TAG, fmt, ##args)
40
41
42 /**************************************************************************************
43  *** Definitions for DBus
44  *************************************************************************************/
45 #define MA_CLIENT_SERVICE_NAME                          "org.tizen.multiassistant.maclient"
46 #define MA_CLIENT_SERVICE_OBJECT_PATH           "/org/tizen/multiassistant/maclient"
47 #define MA_CLIENT_SERVICE_INTERFACE                     "org.tizen.multiassistant.maclient"
48
49 #define MA_UI_CLIENT_SERVICE_NAME                       "org.tizen.multiassistant.mauiclient"
50 #define MA_UI_CLIENT_SERVICE_OBJECT_PATH        "/org/tizen/multiassistant/mauiclient"
51 #define MA_UI_CLIENT_SERVICE_INTERFACE          "org.tizen.multiassistant.mauiclient"
52
53 #define MA_SERVER_SERVICE_NAME                          "org.tizen.multiassistant.maserver"
54 #define MA_SERVER_SERVICE_OBJECT_PATH           "/org/tizen/multiassistant/maserver"
55 #define MA_SERVER_SERVICE_INTERFACE                     "org.tizen.multiassistant.maserver"
56
57 /**************************************************************************************
58  *** Definitions for DBus methods
59  *************************************************************************************/
60 #define MA_METHOD_HELLO                                                         "ma_method_hello"
61
62 #define MA_METHOD_INITIALIZE                                            "ma_method_initialize"
63 #define MA_METHOD_DEINITIALIZE                                          "ma_method_deinitialize"
64 #define MA_METHOD_GET_RECORDING_AUDIO_FORMAT            "ma_method_get_recording_audio_format"
65 #define MA_METHOD_GET_RECORDING_AUDIO_SOURCE_TYPE       "ma_method_get_recording_audio_source_type"
66 #define MA_METHOD_SEND_ASR_RESULT                                       "ma_method_send_asr_result"
67 #define MA_METHOD_SEND_RESULT                                           "ma_method_send_result"
68 #define MA_METHOD_SEND_RECOGNITION_RESULT                       "ma_method_send_recognition_result"
69 #define MA_METHOD_START_STREAMING_AUDIO_DATA            "ma_method_start_streaming_audio_data"
70 #define MA_METHOD_STOP_STREAMING_AUDIO_DATA                     "ma_method_stop_streaming_audio_data"
71 #define MA_METHOD_UPDATE_VOICE_FEEDBACK_STATE           "ma_method_update_voice_feedback_state"
72 #define MA_METHOD_SEND_ASSISTANT_SPECIFIC_COMMAND       "ma_method_send_assistant_specific_command"
73 #define MA_METHOD_SET_BACKGROUND_VOLUME                         "ma_method_set_background_volume"
74 #define MA_METHOD_SET_PREPROCESSING_ALLOW_MODE          "ma_method_set_preprocessing_allow_mode"
75 #define MA_METHOD_SEND_PREPROCESSING_RESULT                     "ma_method_send_preprocessing_result"
76 #define MA_METHOD_SET_WAKE_WORD_AUDIO_REQUIRE_FLAG      "ma_method_set_wake_word_audio_require_flag"
77 #define MA_METHOD_SET_ASSISTANT_WAKEUP_LANGUAGE         "ma_method_set_assistant_wakeup_language"
78 #define MA_METHOD_ADD_WAKE_WORD                                         "ma_method_add_wake_word"
79 #define MA_METHOD_REMOVE_WAKE_WORD                                      "ma_method_remove_wake_word"
80 #define MA_METHOD_ERROR                                                         "ma_method_error"
81
82 #define MA_UI_METHOD_INITIALIZE                                         "ma_ui_method_initialize"
83 #define MA_UI_METHOD_DEINITIALIZE                                       "ma_ui_method_deinitialize"
84 #define MA_UI_METHOD_CHANGE_ASSISTANT                           "ma_ui_method_change_assistant"
85
86 #define MAS_METHOD_HELLO                                                        "mas_method_hello"
87 #define MAS_METHOD_ACTIVE_STATE_CHANGE                          "mas_method_active_state_change"
88 #define MAS_METHOD_STREAMING_AUDIO_DATA                         "mas_method_streaming_audio_data"
89 #define MAS_METHOD_WAKEUP_ENGINE_COMMAND                        "mas_method_wakeup_engine_command"
90 #define MAS_METHOD_ERROR                                                        "mas_method_error"
91 #define MAS_METHOD_SEND_PREPROCESSING_INFORMATION       "mas_method_send_preprocessing_information"
92 #define MAS_METHOD_AUDIO_STREAMING_DATA_SECTION         "mas_method_audio_streaming_data_section"
93 #define MAS_METHOD_SEND_PREPROCESSING_RESULT            "mas_method_send_preprocessing_result"
94 #define MAS_METHOD_SEND_WAKEUP_ENGINE_COMMAND           "mas_method_send_wakeup_engine_command"
95 #define MAS_METHOD_SERVICE_STATE_CHANGE                         "mas_method_service_state_change"
96 #define MAS_METHOD_VOICE_KEY_STATUS_CHANGE                      "mas_method_voice_key_status_change"
97
98 #define MAS_UI_METHOD_SEND_ASR_RESULT                           "mas_ui_method_send_asr_result"
99 #define MAS_UI_METHOD_SEND_RESULT                                       "mas_ui_method_send_result"
100 #define MAS_UI_METHOD_CHANGE_ASSISTANT                          "mas_ui_method_change_assistant"
101 #define MAS_UI_METHOD_ERROR                                                     "mas_ui_method_error"
102 #define MAS_UI_METHOD_SEND_RECOGNITION_RESULT           "mas_ui_method_send_recognition_result"
103 #define MAS_UI_METHOD_ENABLE_COMMON_UI                          "mas_ui_method_enable_common_ui"
104
105 typedef void (*wakeup_service_wakeup_event_cb)(mas_wakeup_event_info wakeup_info, void* user_data);
106
107 typedef void (*wakeup_service_speech_streaming_cb)(mas_speech_streaming_event_e event, void* buffer, int len, void *user_data);
108
109 typedef void (*wakeup_service_speech_status_cb)(mas_speech_status_e status, void *user_data);
110
111 typedef void (*wakeup_service_setting_changed_cb)(void *user_data);
112
113 typedef void (*wakeup_service_error_cb)(int error, const char* err_msg, void* user_data);
114
115 typedef void (*wakeup_service_streaming_section_changed_cb)(ma_audio_streaming_data_section_e section, void* user_data);
116
117 typedef void (*wakeup_service_wakeup_engine_command_cb)(mas_wakeup_engine_command_target_e target, const char* assistant_name, const char* command, void* user_data);
118
119 typedef void (*wakeup_service_wakeup_service_state_changed_cb)(ma_service_state_e state, void* user_data);
120
121 typedef void (*wakeup_service_voice_key_status_changed_cb)(ma_voice_key_status_e status, void* user_data);
122
123 #define MAX_WAKEUP_WORDS_NUM 255
124 #define MAX_WAKEUP_WORD_LEN 32
125 #define MAX_SUPPORTED_LANGUAGES_NUM 255
126 #define MAX_SUPPORTED_LANGUAGE_LEN 16
127 #define MAX_WAKEUP_ENGINES_NUM 4
128
129 #define MAX_APPID_LEN 255
130
131 typedef enum {
132         VOICE_KEY_SUPPORT_MODE_NONE,
133         VOICE_KEY_SUPPORT_MODE_PUSH_TO_TALK,
134         VOICE_KEY_SUPPORT_MODE_TAP_TO_TALK,
135         VOICE_KEY_SUPPORT_MODE_ALL,
136 } VOICE_KEY_SUPPORT_MODE;
137
138 #endif /* __SERVICE_COMMON_H__ */