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