blob: 88a31cdf398fae3c7fb570d92a24eb2bb562be94 [file] [log] [blame]
// 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_VMPLUGIN_DISPATCHER_INTERFACE_H_
#define VM_TOOLS_CONCIERGE_VMPLUGIN_DISPATCHER_INTERFACE_H_
#include <string>
#include <base/files/file_path.h>
#include <dbus/exported_object.h>
#include <dbus/object_proxy.h>
#include <vm_tools/common/vm_id.h>
namespace vm_tools {
namespace concierge {
namespace pvm {
namespace dispatcher {
dbus::ObjectProxy* GetServiceProxy(scoped_refptr<dbus::Bus> bus);
bool RegisterVm(dbus::ObjectProxy* proxy,
const VmId& vm_id,
const base::FilePath& disk_image_path);
bool UnregisterVm(dbus::ObjectProxy* proxy, const VmId& vm_id);
bool IsVmRegistered(dbus::ObjectProxy* proxy, const VmId& vm_id, bool* result);
bool ShutdownVm(dbus::ObjectProxy* proxy, const VmId& vm_id);
bool SuspendVm(dbus::ObjectProxy* proxy, const VmId& vm_id);
} // namespace dispatcher
} // namespace pvm
} // namespace concierge
} // namespace vm_tools
#endif // VM_TOOLS_CONCIERGE_VMPLUGIN_DISPATCHER_INTERFACE_H_