| // Copyright 2020 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include <sysexits.h> |
| |
| #include <iostream> |
| #include <string> |
| #include <vector> |
| |
| #include <base/files/file_path.h> |
| #include <brillo/syslog_logging.h> |
| |
| #include "arc/apk-cache/apk_cache_ctl_commands.h" |
| #include "arc/apk-cache/apk_cache_utils.h" |
| |
| namespace { |
| |
| constexpr char kHelpText[] = |
| "APK Cache Utility\n" |
| "\n" |
| "Usage: apk-cache-ctl COMMAND [OPTIONS]\n" |
| "Tool for controlling ARC++ APK Cache.\n" |
| "\n" |
| "Commands:\n" |
| " ls List file entries in the database.\n" |
| "\n" |
| "Options:\n" |
| " --help Show help for command. Show this help if no command is " |
| "specified."; |
| |
| } // namespace |
| |
| int main(int argc, char** argv) { |
| // Use "arc-" prefix so that the log is recorded in /var/log/arc.log. |
| brillo::OpenLog("arc-apk-cache-ctl", true /* log_pid */); |
| brillo::InitLog(brillo::kLogToSyslog | brillo::kLogToStderrIfTty); |
| |
| std::vector<std::string> args(argv, argv + argc); |
| |
| if (args.size() > 0) { |
| if (args[1] == "ls") { |
| base::FilePath cache_root(apk_cache::kApkCacheDir); |
| return static_cast<int>(apk_cache::CommandLs(cache_root, std::cout)); |
| } |
| } |
| |
| std::cerr << kHelpText << std::endl; |
| return EX_USAGE; |
| } |