blob: 44a22e93f4acc05fae74287e2dec4bc5789d620a [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.
#pragma once
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