| // Copyright 2019 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. |
| |
| #ifndef VM_TOOLS_CONCIERGE_PLUGIN_VM_HELPER_H_ |
| #define VM_TOOLS_CONCIERGE_PLUGIN_VM_HELPER_H_ |
| |
| #include <string> |
| #include <vector> |
| |
| #include <base/files/file_path.h> |
| |
| #include "vm_tools/common/vm_id.h" |
| |
| namespace dbus { |
| class ObjectProxy; |
| }; // namespace dbus |
| |
| namespace vm_tools { |
| namespace concierge { |
| namespace pvm { |
| namespace helper { |
| |
| // TODO(kimjae): Once fully transitioned to DLC based PluginVM, this check needs |
| // to be a precondition that's required. |
| bool IsDlcVm(); |
| bool CreateVm(const VmId& vm_id, std::vector<std::string> params); |
| bool DeleteVm(const VmId& vm_id); |
| bool AttachIso(const VmId& vm_id, |
| const std::string& cdrom_name, |
| const std::string& iso_name); |
| bool CreateCdromDevice(const VmId& vm_id, const std::string& iso_name); |
| |
| void CleanUpAfterInstall(const VmId& vm_id, const base::FilePath& iso_path); |
| |
| bool ToggleSharedProfile(dbus::ObjectProxy* dispatcher_proxy, |
| const VmId& vm_id, |
| std::vector<std::string> params, |
| std::string* failure_message); |
| |
| } // namespace helper |
| } // namespace pvm |
| } // namespace concierge |
| } // namespace vm_tools |
| |
| #endif // VM_TOOLS_CONCIERGE_PLUGIN_VM_HELPER_H_ |