#include "utils.hpp"
CondTrigger::CondTrigger(const Type type, const std::string& condId,
- const bt2s::optional<std::string>& nameSuffix) noexcept :
+ const bt2c::CStringView nameSuffix) noexcept :
_mType {type},
- _mCondId {fmt::format("{}:{}", type == Type::PRE ? "pre" : "post", condId)},
- _mName {
- fmt::format("{}{}{}", condId, nameSuffix ? "-" : "", nameSuffix ? nameSuffix->data() : "")}
+ _mCondId {fmt::format("{}:{}", type == Type::Pre ? "pre" : "post", condId)},
+ _mName {fmt::format("{}{}{}", condId, nameSuffix ? "-" : "", nameSuffix ? nameSuffix : "")}
{
}
SimpleCondTrigger::SimpleCondTrigger(std::function<void()> func, const Type type,
const std::string& condId,
- const bt2s::optional<std::string>& nameSuffix) :
+ const bt2c::CStringView nameSuffix) :
CondTrigger {type, condId, nameSuffix},
_mFunc {std::move(func)}
{
namespace {
-void listCondTriggers(const CondTriggers condTriggers) noexcept
+void listCondTriggers(const CondTriggers& condTriggers) noexcept
{
auto condTriggerArray = nlohmann::json::array();
- for (const auto condTrigger : condTriggers) {
+ for (const auto& condTrigger : condTriggers) {
condTriggerArray.push_back(nlohmann::json {
{"cond-id", condTrigger->condId()},
{"name", condTrigger->name()},
} /* namespace */
-void condMain(const int argc, const char ** const argv, const CondTriggers condTriggers) noexcept
+void condMain(const bt2s::span<const char * const> argv, const CondTriggers& condTriggers) noexcept
{
- BT_ASSERT(argc >= 2);
+ BT_ASSERT(argv.size() >= 2);
if (strcmp(argv[1], "list") == 0) {
listCondTriggers(condTriggers);
g_unsetenv("BABELTRACE_EXEC_ON_ABORT");
/* Call the trigger */
- BT_ASSERT(argc >= 3);
+ BT_ASSERT(argv.size() >= 3);
const auto index = atoi(argv[2]);