struct mds_handle {
char *name;
modes_type_mode_e type;
+ bool hidden;
GList *action_list;
};
}
GVariant *action = g_variant_new(MODES_DBUS_ACTION_LIST_SIG, action_builder);
- GVariant *mode_data = g_variant_new(MODES_DBUS_MODE_SIG, mode->name, mode->type, action);
+ GVariant *mode_data = g_variant_new(MODES_DBUS_MODE_SIG, mode->name, mode->type, mode->hidden, action);
g_variant_builder_unref(action_builder);
return mode_data;
mode->name = strdup(name);
mode->type = type;
+ mode->hidden = false;
mode->action_list = NULL;
return mode;
}
+API int modes_set_hidden(modes_h mode, bool hidden)
+{
+ RETV_IF(NULL == mode, MODES_ERROR_INVALID_PARAMETER);
+
+ mode->hidden = hidden;
+
+ return MODES_ERROR_NONE;
+}
+
API action_h modes_create_action(const char *name, const char *value)
{
struct mds_action_handle *action;
<arg type="i" name="ret" direction="out"/>
</method>
<method name="registerMode">
- <arg type="(siv)" name="modeData" direction="in"/>
+ <arg type="(sibv)" name="modeData" direction="in"/>
<arg type="i" name="ret" direction="out"/>
</method>
<method name="getModes">
#define MODES_DBUS_OBJPATH "/org/tizen/modes/dbus"
-#define MODES_DBUS_MODE_SIG "(siv)"
+#define MODES_DBUS_MODE_SIG "(sibv)"
#define MODES_DBUS_ACTION_SIG "(sss)"
#define MODES_DBUS_ACTION_LIST_SIG "a" MODES_DBUS_ACTION_SIG
*/
modes_h modes_create_mode(const char *name, modes_type_mode_e type);
+/**
+ * @brief Set Mode hidden.
+ * @details Calls this function to hide mode list.
+ * @since_tizen 6.0
+ * @privlevel public
+ * @param[out]
+ * @param[in] Mode handle
+ * @param[in] Mode hidden
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ * @retval #MODES_ERROR_NONE Successful
+ * @retval #MODES_ERROR_INVALID_PARAMETER Invalid parameter
+ */
+int modes_set_hidden(modes_h mode, bool hidden);
+
/**
* @brief Create Action.
* @details Calls this function to create action.
/**
* @brief Add Action to Mode.
- * @details Calls this function to add action to mode.
+ * @details Calls this function to set ID to action.
* @since_tizen 6.0
* @privlevel public
* @param[in] Action handle
GVariantIter *iter;
Mode mode;
Mode::ModeType modeType;
+ gboolean modeHidden;
- g_variant_get(inData, MODES_DBUS_MODE_SIG, &modeName, &type, &actionList);
- DBG("mode_name : %s // type : %d", modeName, type);
+ g_variant_get(inData, MODES_DBUS_MODE_SIG, &modeName, &type, &modeHidden, &actionList);
+ DBG("mode_name : %s // type : %d // hidden : %s", modeName, type, modeHidden? "true" : "false");
switch (type) {
case MODES_TYPE_MODE_NORMAL:
mode.setName(modeName);
mode.setModeType(modeType);
+ mode.setHidden(modeHidden);
g_free(modeName);
g_variant_get(actionList, MODES_DBUS_ACTION_LIST_SIG, &iter);
xmlSetProp(modeNode, ModesXMLTag::NAME, (xmlChar*)modeName.c_str());
xmlSetProp(modeNode, ModesXMLTag::TYPE, (xmlChar*)modeType.c_str());
+ if (true == mode.isHidden())
+ xmlSetProp(modeNode, ModesXMLTag::HIDDEN, (xmlChar*)"true");
xmlAddChild(rootNode, modeNode);
std::list<std::shared_ptr<Action>> actionList = mode.getActionList();
action_handle[1] = modes_create_action("test.printBool", "off");
modes_action_set_id(action_handle[1], "printBoolOff");
- for (int i = 0; i < 2; i++)
+ for (int i = 0; i < 2; i++) {
result = modes_mode_add_action(mode_handle, action_handle[i]);
+ EXPECT_EQ(MODES_ERROR_NONE, result);
+ }
+
+ result = modes_set_hidden(mode_handle, true);
+ EXPECT_EQ(MODES_ERROR_NONE, result);
result = modes_register_mode(mode_handle);
modes_destroy_mode(mode_handle);