blob: 26a9de570632175f11764b7045f429ad26777370 [file] [log] [blame]
Scott Violetc668e3f92017-07-20 17:35:391// Copyright 2015 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_EXO_PARTS_H_
6#define CHROME_BROWSER_EXO_PARTS_H_
7
8#include <memory>
9
10#include "base/macros.h"
11
Lloyd Piqued507c5f2020-11-11 22:47:0512namespace ash {
13class ArcOverlayManager;
14}
15
Mitsuru Oshima51bf3d5472020-06-17 21:28:3416namespace exo {
17class WaylandServerController;
18}
19
Scott Violetc668e3f92017-07-20 17:35:3920class ExoParts {
21 public:
22 // Creates ExoParts. Returns null if exo should not be created.
23 static std::unique_ptr<ExoParts> CreateIfNecessary();
24
25 ~ExoParts();
26
27 private:
28 ExoParts();
29
Lloyd Piqued507c5f2020-11-11 22:47:0530 std::unique_ptr<ash::ArcOverlayManager> arc_overlay_manager_;
Mitsuru Oshima51bf3d5472020-06-17 21:28:3431 std::unique_ptr<exo::WaylandServerController> wayland_server_;
32
Scott Violetc668e3f92017-07-20 17:35:3933 DISALLOW_COPY_AND_ASSIGN(ExoParts);
34};
35
36#endif // CHROME_BROWSER_EXO_PARTS_H_