|
@@ -43,26 +43,28 @@ const QmpCommand *qmp_find_command(const QmpCommandList *cmds, const char *name)
|
|
}
|
|
}
|
|
|
|
|
|
static void qmp_toggle_command(QmpCommandList *cmds, const char *name,
|
|
static void qmp_toggle_command(QmpCommandList *cmds, const char *name,
|
|
- bool enabled)
|
|
|
|
|
|
+ bool enabled, const char *disable_reason)
|
|
{
|
|
{
|
|
QmpCommand *cmd;
|
|
QmpCommand *cmd;
|
|
|
|
|
|
QTAILQ_FOREACH(cmd, cmds, node) {
|
|
QTAILQ_FOREACH(cmd, cmds, node) {
|
|
if (strcmp(cmd->name, name) == 0) {
|
|
if (strcmp(cmd->name, name) == 0) {
|
|
cmd->enabled = enabled;
|
|
cmd->enabled = enabled;
|
|
|
|
+ cmd->disable_reason = disable_reason;
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-void qmp_disable_command(QmpCommandList *cmds, const char *name)
|
|
|
|
|
|
+void qmp_disable_command(QmpCommandList *cmds, const char *name,
|
|
|
|
+ const char *disable_reason)
|
|
{
|
|
{
|
|
- qmp_toggle_command(cmds, name, false);
|
|
|
|
|
|
+ qmp_toggle_command(cmds, name, false, disable_reason);
|
|
}
|
|
}
|
|
|
|
|
|
void qmp_enable_command(QmpCommandList *cmds, const char *name)
|
|
void qmp_enable_command(QmpCommandList *cmds, const char *name)
|
|
{
|
|
{
|
|
- qmp_toggle_command(cmds, name, true);
|
|
|
|
|
|
+ qmp_toggle_command(cmds, name, true, NULL);
|
|
}
|
|
}
|
|
|
|
|
|
bool qmp_command_is_enabled(const QmpCommand *cmd)
|
|
bool qmp_command_is_enabled(const QmpCommand *cmd)
|