Chromium Code Reviews| 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 CHROME_BROWSER_CHROMEOS_GDATA_DRIVE_WEBAPPS_REGISTRY_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_GDATA_DRIVE_WEBAPPS_REGISTRY_H_ |
| 6 #define CHROME_BROWSER_CHROMEOS_GDATA_DRIVE_WEBAPPS_REGISTRY_H_ | 6 #define CHROME_BROWSER_CHROMEOS_GDATA_DRIVE_WEBAPPS_REGISTRY_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| 11 | 11 |
| 12 #include "base/file_path.h" | 12 #include "base/file_path.h" |
| 13 #include "base/memory/scoped_vector.h" | 13 #include "base/memory/scoped_vector.h" |
| 14 #include "chrome/browser/chromeos/gdata/gdata_wapi_parser.h" | 14 #include "chrome/browser/chromeos/gdata/gdata_wapi_parser.h" |
| 15 #include "googleurl/src/gurl.h" | 15 #include "googleurl/src/gurl.h" |
| 16 | 16 |
| 17 namespace gdata { | 17 namespace gdata { |
| 18 | 18 |
| 19 class AppList; | |
| 20 | |
| 19 // Data structure that defines WebApp | 21 // Data structure that defines WebApp |
| 20 struct DriveWebAppInfo { | 22 struct DriveWebAppInfo { |
| 21 DriveWebAppInfo(const std::string& app_id, | 23 DriveWebAppInfo(const std::string& app_id, |
| 22 const InstalledApp::IconList& app_icons, | 24 const InstalledApp::IconList& app_icons, |
| 23 const InstalledApp::IconList& document_icons, | 25 const InstalledApp::IconList& document_icons, |
| 24 const std::string& web_store_id, | 26 const std::string& web_store_id, |
| 25 const string16& app_name, | 27 const string16& app_name, |
| 26 const string16& object_type, | 28 const string16& object_type, |
| 27 bool is_primary_selector); | 29 bool is_primary_selector); |
| 28 ~DriveWebAppInfo(); | 30 ~DriveWebAppInfo(); |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 56 const std::string& mime_type, | 58 const std::string& mime_type, |
| 57 ScopedVector<DriveWebAppInfo>* apps) = 0; | 59 ScopedVector<DriveWebAppInfo>* apps) = 0; |
| 58 | 60 |
| 59 // Returns a set of filename extensions registered for the given | 61 // Returns a set of filename extensions registered for the given |
| 60 // |web_store_id|. | 62 // |web_store_id|. |
| 61 virtual std::set<std::string> GetExtensionsForWebStoreApp( | 63 virtual std::set<std::string> GetExtensionsForWebStoreApp( |
| 62 const std::string& web_store_id) = 0; | 64 const std::string& web_store_id) = 0; |
| 63 | 65 |
| 64 // Updates the list of drive-enabled WebApps with freshly fetched account | 66 // Updates the list of drive-enabled WebApps with freshly fetched account |
| 65 // metadata feed. | 67 // metadata feed. |
| 66 virtual void UpdateFromFeed(AccountMetadataFeed* metadata) = 0; | 68 virtual void UpdateFromFeed(const AccountMetadataFeed* metadata) = 0; |
|
satorux1
2012/08/10 17:26:02
if it's const, can you make it const AccountMetada
kochi
2012/08/13 09:12:24
Done.
| |
| 69 | |
| 70 // Updates the list of drive-enabled WebApps with freshly fetched account | |
| 71 // metadata feed. | |
| 72 virtual void UpdateFromApplicationList(const AppList* applist) = 0; | |
|
satorux1
2012/08/10 17:26:02
ditto.
kochi
2012/08/13 09:12:24
Done.
| |
| 67 }; | 73 }; |
| 68 | 74 |
| 69 // The production implementation of DriveWebAppsRegistryInterface. | 75 // The production implementation of DriveWebAppsRegistryInterface. |
| 70 // Keeps the track of installed drive web application and provider. | 76 // Keeps the track of installed drive web application and provider. |
| 71 class DriveWebAppsRegistry : public DriveWebAppsRegistryInterface { | 77 class DriveWebAppsRegistry : public DriveWebAppsRegistryInterface { |
| 72 public: | 78 public: |
| 73 DriveWebAppsRegistry(); | 79 DriveWebAppsRegistry(); |
| 74 virtual ~DriveWebAppsRegistry(); | 80 virtual ~DriveWebAppsRegistry(); |
| 75 | 81 |
| 76 // DriveWebAppsRegistry overrides. | 82 // DriveWebAppsRegistry overrides. |
| 77 virtual void GetWebAppsForFile(const FilePath& file, | 83 virtual void GetWebAppsForFile(const FilePath& file, |
| 78 const std::string& mime_type, | 84 const std::string& mime_type, |
| 79 ScopedVector<DriveWebAppInfo>* apps) OVERRIDE; | 85 ScopedVector<DriveWebAppInfo>* apps) OVERRIDE; |
| 80 virtual std::set<std::string> GetExtensionsForWebStoreApp( | 86 virtual std::set<std::string> GetExtensionsForWebStoreApp( |
| 81 const std::string& web_store_id) OVERRIDE; | 87 const std::string& web_store_id) OVERRIDE; |
| 82 virtual void UpdateFromFeed(AccountMetadataFeed* metadata) OVERRIDE; | 88 virtual void UpdateFromFeed(const AccountMetadataFeed* metadata) OVERRIDE; |
| 89 virtual void UpdateFromApplicationList(const AppList* applist) OVERRIDE; | |
| 83 | 90 |
| 84 private: | 91 private: |
| 85 // Defines WebApp application details that are associated with a given | 92 // Defines WebApp application details that are associated with a given |
| 86 // file extension or content mimetype. | 93 // file extension or content mimetype. |
| 87 struct WebAppFileSelector { | 94 struct WebAppFileSelector { |
| 88 WebAppFileSelector(const GURL& product_link, | 95 WebAppFileSelector(const GURL& product_link, |
| 89 const InstalledApp::IconList& app_icons, | 96 const InstalledApp::IconList& app_icons, |
| 90 const InstalledApp::IconList& document_icons, | 97 const InstalledApp::IconList& document_icons, |
| 91 const string16& object_type, | 98 const string16& object_type, |
| 92 const std::string& app_id, | 99 const std::string& app_id, |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 142 | 149 |
| 143 // Map of MIME type to application info. | 150 // Map of MIME type to application info. |
| 144 WebAppFileSelectorMap webapp_mimetypes_map_; | 151 WebAppFileSelectorMap webapp_mimetypes_map_; |
| 145 | 152 |
| 146 DISALLOW_COPY_AND_ASSIGN(DriveWebAppsRegistry); | 153 DISALLOW_COPY_AND_ASSIGN(DriveWebAppsRegistry); |
| 147 }; | 154 }; |
| 148 | 155 |
| 149 } // namespace gdata | 156 } // namespace gdata |
| 150 | 157 |
| 151 #endif // CHROME_BROWSER_CHROMEOS_GDATA_DRIVE_WEBAPPS_REGISTRY_H_ | 158 #endif // CHROME_BROWSER_CHROMEOS_GDATA_DRIVE_WEBAPPS_REGISTRY_H_ |
| OLD | NEW |