typedef struct _syscommon_plugin_backend_deviced_display_funcs {
int (*load_display_config) (struct syscommon_deviced_display_config **);
+ int (*load_state_info) (struct syscommon_deviced_display_state_info *);
int (*on_changed_setting_value) (int, int);
int (*lcd_on_procedure) (enum syscommon_deviced_display_state, enum deviced_event);
int (*lcd_off_procedure) (enum deviced_event);
*/
int syscommon_plugin_deviced_display_load_config(struct syscommon_deviced_display_config **);
+/**
+ * @brief Load the backend states
+ * @param[in] states Array of states transition information
+ * @return @c 0 on success, otherwise a negative error value
+ */
+int syscommon_plugin_deviced_display_load_state_info(struct syscommon_deviced_display_state_info *states);
+
/**
* @brief Let plugin know about setting value change
* @param[in] key Key of which setting value has changed
return g_display_funcs->load_display_config(data);
}
+EXPORT
+int syscommon_plugin_deviced_display_load_state_info(struct syscommon_deviced_display_state_info *states)
+{
+ int ret = 0;
+
+ if (!g_display_funcs) {
+ ret = syscommon_plugin_deviced_display_get_backend();
+ if (ret < 0)
+ return -ENOTSUP;
+ }
+
+ assert(g_display_funcs);
+
+ if (!g_display_funcs->load_state_info)
+ return -EOPNOTSUPP;
+
+ return g_display_funcs->load_state_info(states);
+
+}
+
EXPORT
int syscommon_plugin_deviced_display_notify_setting_value_changed(int key, int value)
{
return 0;
}
+static int load_state_info(struct syscommon_deviced_display_state_info *states)
+{
+ check_expected(states);
+
+ return 0;
+}
+
static int on_changed_setting_value(int key, int value)
{
check_expected(key);
static syscommon_plugin_backend_deviced_display_funcs g_display_funcs = {
.load_display_config = load_display_config,
+ .load_state_info = load_state_info,
.on_changed_setting_value = on_changed_setting_value,
.lcd_on_procedure = lcd_on_procedure,
.lcd_off_procedure = lcd_off_procedure,
return 0;
}
+static void test_load_state_info(void **state)
+{
+ int ret;
+ struct syscommon_deviced_display_state_info s[SYSCOMMON_DEVICED_DISPLAY_STATE_END] = {
+ 0,
+ };
+
+ expect_value(load_state_info, states, s);
+
+ ret = syscommon_plugin_deviced_display_load_state_info(s);
+ assert_int_equal(ret, 0);
+}
+
static void test_notify_setting_value_changed(void **state)
{
int ret;
static void test_set_brightness(void **state)
{
int ret;
-
+
expect_value(set_brightness, brightness, 100);
ret = syscommon_plugin_deviced_display_set_brightness(100);
}
static const struct CMUnitTest testsuite_plugin_api_deviced[] = {
+ cmocka_unit_test(test_load_state_info),
cmocka_unit_test(test_notify_setting_value_changed),
cmocka_unit_test(test_lcd_on_procedure),
cmocka_unit_test(test_lcd_off_procedure),