struct data_class *get_voice_control_data_class(void);
char *settings_voice_control_status_str(void);
+void setting_voice_control_reg_data_change_cb(void *cb, void *data);
#endif /* INCLUDE_DATA_SYSTEM_SETTINGS_VOICE_CONTROL_H_ */
};
static bool vc_initialised = false;
+static void (*ext_voice_control_changed_cb)(void *ext_data);
+static void *ext_data = NULL;
typedef struct {
void (*event_cb)(enum event_type type, void *data);
return &vc_class;
}
+void setting_voice_control_reg_data_change_cb(void *cb, void *data)
+{
+ ext_voice_control_changed_cb = cb;
+ ext_data = data;
+}
+
char *settings_voice_control_status_str(void)
{
int ret = VC_ERROR_NONE;
if (priv->event_cb)
priv->event_cb(EVENT_DATA_CHANGED, priv->cb_data);
+ if (ext_voice_control_changed_cb && ext_data)
+ ext_voice_control_changed_cb(ext_data);
}
static void *_create(void (*event_cb)(enum event_type type, void *data),
static void _focused(void *data, int id);
static void _selected_menu(void *data, int id);
+static void _reg_data_change_cb(void *data);
+
static struct menumgr_info menu_info[] = {
{
.id = MENU_CLOCK,
.selected_menu = _selected_menu,
.progress_value = NULL,
.progress_evas = NULL,
- .update_cb = NULL,
+ .update_cb = _reg_data_change_cb
},
{
.id = MENU_RESET,
{
}
+static void _voice_control_changed_cb(void *data)
+{
+ menumgr_update((struct menumgr *)data);
+}
+
+static void _reg_data_change_cb(void *data)
+{
+ if (data) {
+ setting_voice_control_reg_data_change_cb(_voice_control_changed_cb,
+ (struct menumgr *)data);
+ } else {
+ setting_voice_control_reg_data_change_cb(NULL, NULL);
+ }
+}
+
static bool _add_layout_contents(struct _priv *priv, Evas_Object *tab_button)
{
Evas_Object *table = NULL;
};
static struct _menu_data *_mdata_p[LAYOUT_MAX] = {
- &_mdata[0], &_mdata[1], &_mdata[2],/* &_mdata[3],
- &_mdata[4], &_mdata[5], &_mdata[6], &_mdata[7] */
+ &_mdata[0], &_mdata[1], &_mdata[2]
};
static bool _draw_menu_area(struct _priv *priv);