CommandListBuilder: rename attributes
This commit is contained in:
parent
fb337418a5
commit
77a99cc61d
@ -25,23 +25,23 @@
|
||||
void
|
||||
CommandListBuilder::Reset()
|
||||
{
|
||||
for (GSList *tmp = cmd_list; tmp != NULL; tmp = g_slist_next(tmp))
|
||||
for (GSList *tmp = list; tmp != NULL; tmp = g_slist_next(tmp))
|
||||
g_free(tmp->data);
|
||||
|
||||
g_slist_free(cmd_list);
|
||||
g_slist_free(list);
|
||||
|
||||
cmd_list = nullptr;
|
||||
cmd_list_OK = -1;
|
||||
list = nullptr;
|
||||
mode = Mode::DISABLED;
|
||||
}
|
||||
|
||||
bool
|
||||
CommandListBuilder::Add(const char *cmd)
|
||||
{
|
||||
size_t len = strlen(cmd) + 1;
|
||||
cmd_list_size += len;
|
||||
if (cmd_list_size > client_max_command_list_size)
|
||||
size += len;
|
||||
if (size > client_max_command_list_size)
|
||||
return false;
|
||||
|
||||
cmd_list = g_slist_prepend(cmd_list, g_strdup(cmd));
|
||||
list = g_slist_prepend(list, g_strdup(cmd));
|
||||
return true;
|
||||
}
|
||||
|
@ -24,24 +24,39 @@
|
||||
#include <assert.h>
|
||||
|
||||
class CommandListBuilder {
|
||||
/**
|
||||
* for when in list mode
|
||||
*/
|
||||
GSList *cmd_list;
|
||||
|
||||
/**
|
||||
* print OK after each command execution
|
||||
*/
|
||||
int cmd_list_OK;
|
||||
enum class Mode {
|
||||
/**
|
||||
* Not active.
|
||||
*/
|
||||
DISABLED = -1,
|
||||
|
||||
/**
|
||||
* Enabled in normal list mode.
|
||||
*/
|
||||
ENABLED = false,
|
||||
|
||||
/**
|
||||
* Enabled in "list_OK" mode.
|
||||
*/
|
||||
OK = true,
|
||||
} mode;
|
||||
|
||||
/**
|
||||
* mem cmd_list consumes
|
||||
* for when in list mode
|
||||
*/
|
||||
size_t cmd_list_size;
|
||||
GSList *list;
|
||||
|
||||
/**
|
||||
* Memory consumed by the list.
|
||||
*/
|
||||
size_t size;
|
||||
|
||||
public:
|
||||
CommandListBuilder()
|
||||
:cmd_list(nullptr), cmd_list_OK(-1), cmd_list_size(0) {}
|
||||
:mode(Mode::DISABLED), list(nullptr), size(0) {}
|
||||
~CommandListBuilder() {
|
||||
Reset();
|
||||
}
|
||||
@ -50,9 +65,7 @@ public:
|
||||
* Is a command list currently being built?
|
||||
*/
|
||||
bool IsActive() const {
|
||||
assert(cmd_list_OK >= -1 && cmd_list_OK <= 1);
|
||||
|
||||
return cmd_list_OK >= 0;
|
||||
return mode != Mode::DISABLED;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -61,7 +74,7 @@ public:
|
||||
bool IsOKMode() const {
|
||||
assert(IsActive());
|
||||
|
||||
return (bool)cmd_list_OK;
|
||||
return (bool)mode;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -73,10 +86,10 @@ public:
|
||||
* Begin building a command list.
|
||||
*/
|
||||
void Begin(bool ok) {
|
||||
assert(cmd_list == nullptr);
|
||||
assert(cmd_list_OK == -1);
|
||||
assert(list == nullptr);
|
||||
assert(mode == Mode::DISABLED);
|
||||
|
||||
cmd_list_OK = (int)ok;
|
||||
mode = (Mode)ok;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -93,7 +106,7 @@ public:
|
||||
/* for scalability reasons, we have prepended each new
|
||||
command; now we have to reverse it to restore the
|
||||
correct order */
|
||||
return cmd_list = g_slist_reverse(cmd_list);
|
||||
return list = g_slist_reverse(list);
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user