#ifndef ASH_WM_SCOPED_WINDOWS_MOVER_H_
#define ASH_WM_SCOPED_WINDOWS_MOVER_H_
#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "ui/aura/window.h"
namespace ash {
class ScopedWindowsMover {
public:
ScopedWindowsMover(int64_t dest_display_id);
ScopedWindowsMover(const ScopedWindowsMover&) = delete;
ScopedWindowsMover& operator=(const ScopedWindowsMover&) = delete;
~ScopedWindowsMover();
void add_window(aura::Window* window) { windows_.push_back(window); }
void set_callback(base::OnceClosure callback) {
moved_callback_ = std::move(callback);
}
aura::Window::Windows& windows() { return windows_; }
private:
int64_t dest_display_id_;
aura::Window::Windows windows_;
base::OnceClosure moved_callback_;
};
}
#endif