OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 ASH_SYSTEM_TRAY_SYSTEM_TRAY_DELEGATE_H_ | 5 #ifndef ASH_SYSTEM_TRAY_SYSTEM_TRAY_DELEGATE_H_ |
6 #define ASH_SYSTEM_TRAY_SYSTEM_TRAY_DELEGATE_H_ | 6 #define ASH_SYSTEM_TRAY_SYSTEM_TRAY_DELEGATE_H_ |
7 | 7 |
8 #include <string> | |
9 #include <vector> | |
10 | |
11 #include "ash/ash_export.h" | 8 #include "ash/ash_export.h" |
12 #include "base/i18n/time_formatting.h" | 9 #include "base/i18n/time_formatting.h" |
13 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
14 | 11 |
15 namespace base { | 12 namespace base { |
16 class TimeDelta; | 13 class TimeDelta; |
17 class TimeTicks; | 14 class TimeTicks; |
18 } | 15 } |
19 | 16 |
20 namespace ash { | 17 namespace ash { |
21 struct IMEInfo; | |
22 struct IMEPropertyInfo; | |
23 | |
24 using IMEInfoList = std::vector<IMEInfo>; | |
25 using IMEPropertyInfoList = std::vector<IMEPropertyInfo>; | |
26 | 18 |
27 class NetworkingConfigDelegate; | 19 class NetworkingConfigDelegate; |
28 | 20 |
29 // SystemTrayDelegate is intended for delegating tasks in the System Tray to the | 21 // SystemTrayDelegate is intended for delegating tasks in the System Tray to the |
30 // application (e.g. Chrome). These tasks should be limited to application | 22 // application (e.g. Chrome). These tasks should be limited to application |
31 // (browser) specific tasks. For non application specific tasks, where possible, | 23 // (browser) specific tasks. For non application specific tasks, where possible, |
32 // components/, chromeos/, device/, etc., code should be used directly. | 24 // components/, chromeos/, device/, etc., code should be used directly. |
33 // | 25 // |
34 // DEPRECATED: This class is being replaced with SystemTrayController and | 26 // DEPRECATED: This class is being replaced with SystemTrayController and |
35 // SessionController to support mash/mustash. Add new code to those classes. | 27 // SessionController to support mash/mustash. Add new code to those classes. |
36 class ASH_EXPORT SystemTrayDelegate { | 28 class ASH_EXPORT SystemTrayDelegate { |
37 public: | 29 public: |
38 SystemTrayDelegate(); | 30 SystemTrayDelegate(); |
39 virtual ~SystemTrayDelegate(); | 31 virtual ~SystemTrayDelegate(); |
40 | 32 |
41 // Called after SystemTray has been instantiated. | 33 // Called after SystemTray has been instantiated. |
42 virtual void Initialize(); | 34 virtual void Initialize(); |
43 | 35 |
44 // Shows login UI to add other users to this session. | 36 // Shows login UI to add other users to this session. |
45 virtual void ShowUserLogin(); | 37 virtual void ShowUserLogin(); |
46 | 38 |
47 // Returns the currently selected IME. | |
48 virtual void GetCurrentIME(IMEInfo* info); | |
49 | |
50 // Returns a list of availble IMEs. | |
51 virtual void GetAvailableIMEList(IMEInfoList* list); | |
52 | |
53 // Returns a list of properties for the currently selected IME. | |
54 virtual void GetCurrentIMEProperties(IMEPropertyInfoList* list); | |
55 | |
56 // Returns NetworkingConfigDelegate. May return nullptr. | 39 // Returns NetworkingConfigDelegate. May return nullptr. |
57 virtual NetworkingConfigDelegate* GetNetworkingConfigDelegate() const; | 40 virtual NetworkingConfigDelegate* GetNetworkingConfigDelegate() const; |
58 | 41 |
59 // Retrieves the session start time. Returns |false| if the time is not set. | 42 // Retrieves the session start time. Returns |false| if the time is not set. |
60 virtual bool GetSessionStartTime(base::TimeTicks* session_start_time); | 43 virtual bool GetSessionStartTime(base::TimeTicks* session_start_time); |
61 | 44 |
62 // Retrieves the session length limit. Returns |false| if no limit is set. | 45 // Retrieves the session length limit. Returns |false| if no limit is set. |
63 virtual bool GetSessionLengthLimit(base::TimeDelta* session_length_limit); | 46 virtual bool GetSessionLengthLimit(base::TimeDelta* session_length_limit); |
64 | 47 |
65 // The active user has been changed. This will be called when the UI is ready | 48 // The active user has been changed. This will be called when the UI is ready |
66 // to be switched to the new user. | 49 // to be switched to the new user. |
67 // Note: This will happen after SessionObserver::ActiveUserChanged fires. | 50 // Note: This will happen after SessionObserver::ActiveUserChanged fires. |
68 virtual void ActiveUserWasChanged(); | 51 virtual void ActiveUserWasChanged(); |
69 | 52 |
70 // Returns true when the Search key is configured to be treated as Caps Lock. | 53 // Returns true when the Search key is configured to be treated as Caps Lock. |
71 virtual bool IsSearchKeyMappedToCapsLock(); | 54 virtual bool IsSearchKeyMappedToCapsLock(); |
72 }; | 55 }; |
73 | 56 |
74 } // namespace ash | 57 } // namespace ash |
75 | 58 |
76 #endif // ASH_SYSTEM_TRAY_SYSTEM_TRAY_DELEGATE_H_ | 59 #endif // ASH_SYSTEM_TRAY_SYSTEM_TRAY_DELEGATE_H_ |
OLD | NEW |