| // 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_ |