OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ | 5 #ifndef SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ |
6 #define SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ | 6 #define SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 15 matching lines...) Expand all Loading... |
26 | 26 |
27 namespace display { | 27 namespace display { |
28 class Display; | 28 class Display; |
29 } | 29 } |
30 | 30 |
31 namespace gfx { | 31 namespace gfx { |
32 class Insets; | 32 class Insets; |
33 class Size; | 33 class Size; |
34 } | 34 } |
35 | 35 |
36 namespace shell { | 36 namespace service_manager { |
37 class Connector; | 37 class Connector; |
38 } | 38 } |
39 | 39 |
40 namespace ui { | 40 namespace ui { |
41 class InFlightChange; | 41 class InFlightChange; |
42 class WindowTreeClientDelegate; | 42 class WindowTreeClientDelegate; |
43 class WindowTreeClientPrivate; | 43 class WindowTreeClientPrivate; |
44 class WindowTreeClientObserver; | 44 class WindowTreeClientObserver; |
45 enum class ChangeType; | 45 enum class ChangeType; |
46 | 46 |
47 // Manages the connection with mus. | 47 // Manages the connection with mus. |
48 // | 48 // |
49 // WindowTreeClient is owned by the creator. Generally when the delegate gets | 49 // WindowTreeClient is owned by the creator. Generally when the delegate gets |
50 // one of OnEmbedRootDestroyed() or OnLostConnection() it should delete the | 50 // one of OnEmbedRootDestroyed() or OnLostConnection() it should delete the |
51 // WindowTreeClient. | 51 // WindowTreeClient. |
52 // | 52 // |
53 // When WindowTreeClient is deleted all windows are deleted (and observers | 53 // When WindowTreeClient is deleted all windows are deleted (and observers |
54 // notified). | 54 // notified). |
55 class WindowTreeClient : public mojom::WindowTreeClient, | 55 class WindowTreeClient : public mojom::WindowTreeClient, |
56 public mojom::WindowManager, | 56 public mojom::WindowManager, |
57 public WindowManagerClient { | 57 public WindowManagerClient { |
58 public: | 58 public: |
59 explicit WindowTreeClient( | 59 explicit WindowTreeClient( |
60 WindowTreeClientDelegate* delegate, | 60 WindowTreeClientDelegate* delegate, |
61 WindowManagerDelegate* window_manager_delegate = nullptr, | 61 WindowManagerDelegate* window_manager_delegate = nullptr, |
62 mojom::WindowTreeClientRequest request = nullptr); | 62 mojom::WindowTreeClientRequest request = nullptr); |
63 ~WindowTreeClient() override; | 63 ~WindowTreeClient() override; |
64 | 64 |
65 // Establishes the connection by way of the WindowTreeFactory. | 65 // Establishes the connection by way of the WindowTreeFactory. |
66 void ConnectViaWindowTreeFactory(shell::Connector* connector); | 66 void ConnectViaWindowTreeFactory(service_manager::Connector* connector); |
67 | 67 |
68 // Establishes the connection by way of WindowManagerWindowTreeFactory. | 68 // Establishes the connection by way of WindowManagerWindowTreeFactory. |
69 void ConnectAsWindowManager(shell::Connector* connector); | 69 void ConnectAsWindowManager(service_manager::Connector* connector); |
70 | 70 |
71 // Wait for OnEmbed(), returning when done. | 71 // Wait for OnEmbed(), returning when done. |
72 void WaitForEmbed(); | 72 void WaitForEmbed(); |
73 | 73 |
74 bool connected() const { return tree_ != nullptr; } | 74 bool connected() const { return tree_ != nullptr; } |
75 ClientSpecificId client_id() const { return client_id_; } | 75 ClientSpecificId client_id() const { return client_id_; } |
76 | 76 |
77 // API exposed to the window implementations that pushes local changes to the | 77 // API exposed to the window implementations that pushes local changes to the |
78 // service. | 78 // service. |
79 void DestroyWindow(Window* window); | 79 void DestroyWindow(Window* window); |
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
486 std::set<Id> drag_entered_windows_; | 486 std::set<Id> drag_entered_windows_; |
487 | 487 |
488 base::WeakPtrFactory<WindowTreeClient> weak_factory_; | 488 base::WeakPtrFactory<WindowTreeClient> weak_factory_; |
489 | 489 |
490 DISALLOW_COPY_AND_ASSIGN(WindowTreeClient); | 490 DISALLOW_COPY_AND_ASSIGN(WindowTreeClient); |
491 }; | 491 }; |
492 | 492 |
493 } // namespace ui | 493 } // namespace ui |
494 | 494 |
495 #endif // SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ | 495 #endif // SERVICES_UI_PUBLIC_CPP_WINDOW_TREE_CLIENT_H_ |
OLD | NEW |