blob: d91763b61bb09e2b487790c756c9d368deb71af7 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SRC_DEVELOPER_DEBUG_ZXDB_CONSOLE_SWITCH_RECORD_H_
#define SRC_DEVELOPER_DEBUG_ZXDB_CONSOLE_SWITCH_RECORD_H_
namespace zxdb {
// Information on a switch provided to a command. This is not for command-line
// switches passed to main().
struct SwitchRecord {
SwitchRecord() = default;
SwitchRecord(const SwitchRecord&) = default;
SwitchRecord(int i, bool has_value, const char* n, char c = 0)
: id(i), has_value(has_value), name(n), ch(c) {}
~SwitchRecord() = default;
int id = 0;
// Indicates if this switch has a value. False means it's a bool.
bool has_value = false;
// Not including hyphens, e.g. "size" for the switch "--size".
const char* name = nullptr;
// 1-character shorthand switch. 0 means no short variant.
char ch = 0;
};
} // namespace zxdb
#endif // SRC_DEVELOPER_DEBUG_ZXDB_CONSOLE_SWITCH_RECORD_H_