Index: chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h |
diff --git a/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h b/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h |
index 2243e92b864fc30223561bf0d6f9f26b942a7d20..9023959c0ac2c155b807eec7e39bbe96cfd28f4a 100644 |
--- a/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h |
+++ b/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h |
@@ -11,6 +11,7 @@ |
#include "base/macros.h" |
#include "base/observer_list.h" |
+#include "chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.h" |
#include "chrome/browser/chromeos/policy/device_local_account.h" |
#include "chrome/browser/chromeos/settings/cros_settings.h" |
#include "components/signin/core/account_id/account_id.h" |
@@ -25,30 +26,7 @@ namespace chromeos { |
// creates a user in whose context the app then runs. |
class ArcKioskAppManager { |
public: |
- // Struct to hold full info about ARC Kiosk app. In future |
- // this structure may contain many extra fields, e.g. icon. |
- class ArcKioskApp { |
- public: |
- ArcKioskApp(const policy::ArcKioskAppBasicInfo& app_info, |
- const AccountId& account_id, |
- const std::string& name); |
- ArcKioskApp(const ArcKioskApp& other); |
- ~ArcKioskApp(); |
- |
- bool operator==(const std::string& app_id) const; |
- bool operator==(const policy::ArcKioskAppBasicInfo& app_info) const; |
- |
- const policy::ArcKioskAppBasicInfo& app_info() const { return app_info_; } |
- const AccountId& account_id() const { return account_id_; } |
- const std::string& name() const { return name_; } |
- |
- private: |
- policy::ArcKioskAppBasicInfo app_info_; |
- AccountId account_id_; |
- std::string name_; |
- }; |
- |
- using ArcKioskApps = std::vector<ArcKioskApp>; |
+ using Apps = std::vector<ArcKioskAppData*>; |
class ArcKioskAppManagerObserver { |
public: |
@@ -58,6 +36,8 @@ class ArcKioskAppManager { |
virtual ~ArcKioskAppManagerObserver() = default; |
}; |
+ static const char kArcKioskDictionaryName[]; |
+ |
static ArcKioskAppManager* Get(); |
ArcKioskAppManager(); |
@@ -74,9 +54,13 @@ class ArcKioskAppManager { |
const AccountId& GetAutoLaunchAccountId() const; |
// Returns app that should be started for given account id. |
- const ArcKioskApp* GetAppByAccountId(const AccountId& account_id); |
+ const ArcKioskAppData* GetAppByAccountId(const AccountId& account_id); |
+ |
+ void GetAllApps(Apps* apps) const; |
- const ArcKioskApps& GetAllApps() const { return apps_; } |
+ void UpdateNameAndIcon(const std::string& app_id, |
+ const std::string& name, |
+ const gfx::ImageSkia& icon); |
void AddObserver(ArcKioskAppManagerObserver* observer); |
void RemoveObserver(ArcKioskAppManagerObserver* observer); |
@@ -91,9 +75,10 @@ class ArcKioskAppManager { |
// Removes cryptohomes of the removed apps. Terminates the session if |
// a removed app is running. |
- void ClearRemovedApps(const ArcKioskApps& old_apps); |
+ void ClearRemovedApps( |
+ const std::map<std::string, std::unique_ptr<ArcKioskAppData>>& old_apps); |
- ArcKioskApps apps_; |
+ std::vector<std::unique_ptr<ArcKioskAppData>> apps_; |
AccountId auto_launch_account_id_; |
bool auto_launched_with_zero_delay_ = false; |
base::ObserverList<ArcKioskAppManagerObserver, true> observers_; |