Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 12 additions & 33 deletions base/cvd/cuttlefish/host/commands/cvd/cli/commands/start.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,6 @@
namespace cuttlefish {
namespace {

constexpr char kSummaryHelpText[] =
"Start a Cuttlefish virtual device or environment";

constexpr char kDetailedHelpText[] =
"Run cvd start --help for the full help text.";

std::optional<std::string> GetConfigPath(cvd_common::Args& args) {
std::size_t initial_size = args.size();
std::string config_file;
Expand Down Expand Up @@ -246,8 +240,6 @@ Result<std::unique_ptr<OperatorControlConn>> PreregisterGroup(
return operator_conn;
}

} // namespace

class CvdStartCommandHandler : public CvdCommandHandler {
public:
CvdStartCommandHandler(InstanceManager& instance_manager)
Expand All @@ -257,9 +249,15 @@ class CvdStartCommandHandler : public CvdCommandHandler {
std::vector<std::string> CmdList() const override {
return {"start", "launch_cvd"};
}
Result<std::string> SummaryHelp() const override;
bool ShouldInterceptHelp() const override;
Result<std::string> DetailedHelp(std::vector<std::string>&) const override;
Result<std::string> SummaryHelp() const override {
return "Start a Cuttlefish virtual device or environment";
}
// TODO(b/315027339): Swap to true. Will likely need to add `cvd::Request` as
// a parameter of DetailedHelp to match current implementation
bool ShouldInterceptHelp() const override { return false; }
Result<std::string> DetailedHelp(std::vector<std::string>&) const override {
return "Run cvd start --help for the full help text.";
}

private:
Result<void> LaunchDevice(Command command, LocalInstanceGroup& group,
Expand All @@ -282,8 +280,6 @@ class CvdStartCommandHandler : public CvdCommandHandler {
std::vector<InstanceLockFile> lock_files;
};

Result<void> UpdateArgs(cvd_common::Args& args, LocalInstanceGroup& group);

Result<void> UpdateEnvs(cvd_common::Envs& envs,
const LocalInstanceGroup& group);

Expand Down Expand Up @@ -373,13 +369,6 @@ Result<void> CvdStartCommandHandler::AcloudCompatActions(
return {};
}

Result<void> CvdStartCommandHandler::UpdateArgs(cvd_common::Args& args,
LocalInstanceGroup& group) {
CF_EXPECT(UpdateInstanceArgs(args, group));
CF_EXPECT(UpdateWebrtcDeviceIds(args, group));
return {};
}

Result<void> CvdStartCommandHandler::UpdateEnvs(
cvd_common::Envs& envs, const LocalInstanceGroup& group) {
CF_EXPECT(!group.Instances().empty());
Expand Down Expand Up @@ -543,7 +532,8 @@ Result<void> CvdStartCommandHandler::Handle(const CommandRequest& request) {
"Selected instance group is already started, use `cvd create` to "
"create a new one.");

CF_EXPECT(UpdateArgs(subcmd_args, group));
CF_EXPECT(UpdateInstanceArgs(subcmd_args, group));
CF_EXPECT(UpdateWebrtcDeviceIds(subcmd_args, group));
CF_EXPECT(UpdateEnvs(envs, group));
const auto bin = CF_EXPECT(FindStartBin(group.HostArtifactsPath()));

Expand Down Expand Up @@ -669,18 +659,7 @@ Result<void> CvdStartCommandHandler::LaunchDeviceInterruptible(
return {};
}

Result<std::string> CvdStartCommandHandler::SummaryHelp() const {
return kSummaryHelpText;
}

// TODO(b/315027339): Swap to true. Will likely need to add `cvd::Request` as a
// parameter of DetailedHelp to match current implementation
bool CvdStartCommandHandler::ShouldInterceptHelp() const { return false; }

Result<std::string> CvdStartCommandHandler::DetailedHelp(
std::vector<std::string>&) const {
return kDetailedHelpText;
}
} // namespace

std::unique_ptr<CvdCommandHandler> NewCvdStartCommandHandler(
InstanceManager& instance_manager) {
Expand Down
Loading