| 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 |