summaryrefslogtreecommitdiffstats
path: root/argument.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'argument.cpp')
-rw-r--r--argument.cpp127
1 files changed, 0 insertions, 127 deletions
diff --git a/argument.cpp b/argument.cpp
deleted file mode 100644
index fa0d4bc..0000000
--- a/argument.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/**
- * Copyright © 2016 IBM Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "argument.hpp"
-
-#include <cassert>
-#include <iostream>
-
-namespace phosphor
-{
-namespace watchdog
-{
-
-using namespace std::string_literals;
-
-const std::vector<std::string> emptyArg;
-const std::string ArgumentParser::trueString = "true"s;
-
-const char* ArgumentParser::optionStr = "p:s:t:a:f:i:ech";
-// clang-format off
-const option ArgumentParser::options[] =
-{
- { "path", required_argument, nullptr, 'p' },
- { "service", required_argument, nullptr, 's' },
- { "target", required_argument, nullptr, 't' },
- { "action_target", required_argument, nullptr, 'a' },
- { "fallback_action", required_argument, nullptr, 'f' },
- { "fallback_interval", required_argument, nullptr, 'i' },
- { "fallback_always", no_argument, nullptr, 'e' },
- { "continue", no_argument, nullptr, 'c' },
- { "help", no_argument, nullptr, 'h' },
- { 0, 0, 0, 0},
-};
-// clang-format on
-
-ArgumentParser::ArgumentParser(int argc, char* const argv[])
-{
- int option;
- int opt_idx = 0;
-
- // We have to reset optind because getopt_long keeps global state
- // and uses optind to track what argv index it needs to process next.
- // Since this object may be instantiated more than once or test suites may
- // already process instructions, optind may not be initialized to point to
- // the beginning of our argv.
- optind = 0;
- while (-1 !=
- (option = getopt_long(argc, argv, optionStr, options, &opt_idx)))
- {
- if (option == '?' || option == 'h')
- {
- usage(argv);
- exit(-1);
- }
-
- auto i = &options[opt_idx];
- while (i->val && i->val != option)
- {
- ++i;
- }
-
- if (i->val)
- {
- arguments[i->name].push_back(optarg ? optarg : trueString);
- }
-
- opt_idx = 0;
- }
-}
-
-const std::vector<std::string>& ArgumentParser::
- operator[](const std::string& opt)
-{
- auto i = arguments.find(opt);
- if (i == arguments.end())
- {
- return emptyArg;
- }
- else
- {
- return i->second;
- }
-}
-
-void ArgumentParser::usage(char* const argv[])
-{
- std::cerr << "Usage: " << argv[0] << " options\n";
- std::cerr << "Options:\n";
- std::cerr << " --help Print this menu\n";
- std::cerr << " --path=<Dbus Object path> Dbus Object path. "
- "Ex: /xyz/openbmc_project/state/watchdog/host0\n";
- std::cerr << " --service=<Dbus Service name> Dbus Service "
- "name. Ex: xyz.openbmc_project.State.Watchdog.Host\n";
- std::cerr << " [--target=<systemd unit>] Systemd unit to "
- "be called on timeout for all actions but NONE. "
- "Deprecated, use --action_target instead.\n";
- std::cerr << " [--action_target=<action>=<systemd unit>] Map of action to "
- "systemd unit to be called on timeout if that action is "
- "set for ExpireAction when the timer expires.\n";
- std::cerr << " [--fallback_action=<action>] Enables the "
- "watchdog even when disabled via the dbus interface. "
- "Perform this action when the fallback expires.\n";
- std::cerr << " [--fallback_interval=<interval in ms>] Enables the "
- "watchdog even when disabled via the dbus interface. "
- "Waits for this interval before performing the fallback "
- "action.\n";
- std::cerr << " [--fallback_always] Enables the "
- "watchdog even when disabled by the dbus interface. "
- "This option is only valid with a fallback specified.\n";
- std::cerr << " [--continue] Continue daemon "
- "after watchdog timeout.\n";
-}
-} // namespace watchdog
-} // namespace phosphor
OpenPOWER on IntegriCloud