OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef ATHENA_ENV_PUBLIC_ATHENA_ENV_H_ | |
6 #define ATHENA_ENV_PUBLIC_ATHENA_ENV_H_ | |
7 | |
8 #include "athena/athena_export.h" | |
9 #include "base/callback_forward.h" | |
10 | |
11 namespace aura { | |
12 class WindowTreeHost; | |
13 } | |
14 | |
15 namespace gfx { | |
16 class Insets; | |
17 } | |
18 | |
19 namespace athena { | |
20 | |
21 // AthenaEnv creates/shuts down the environment necessary to | |
22 // start Athena shell. | |
23 class ATHENA_EXPORT AthenaEnv { | |
24 public: | |
25 static void Create(); | |
26 static AthenaEnv* Get(); | |
27 static void Shutdown(); | |
28 | |
29 virtual ~AthenaEnv() {} | |
30 | |
31 // Returns the single WindowTreeHost for the primary display. | |
32 virtual aura::WindowTreeHost* GetHost() = 0; | |
33 | |
34 // Sets the insets for the primary displays's work area. | |
35 virtual void SetDisplayWorkAreaInsets(const gfx::Insets& insets) = 0; | |
36 | |
37 // Adds the callback called when the athena is about to exit. | |
38 virtual void AddTerminatingCallback(const base::Closure& closure) = 0; | |
39 virtual void RemoveTerminatingCallback(const base::Closure& closure) = 0; | |
40 | |
41 // Called when the athena is about to exist. | |
42 virtual void OnTerminating() = 0; | |
43 }; | |
44 | |
45 } // namespace athena | |
46 | |
47 #endif // ATHENA_ENV_PUBLIC_ATHENA_ENV_H_ | |
OLD | NEW |