Index: chrome/browser/drive/drive_app_registry.h |
diff --git a/chrome/browser/drive/drive_app_registry.h b/chrome/browser/drive/drive_app_registry.h |
index cb15dc12050b1ca81600c9746c06eb1f3ba9b2c3..dd53bae4b62972a36e5a116356e16ad67bbb5746 100644 |
--- a/chrome/browser/drive/drive_app_registry.h |
+++ b/chrome/browser/drive/drive_app_registry.h |
@@ -9,6 +9,7 @@ |
#include <string> |
#include <vector> |
+#include "base/callback_forward.h" |
#include "base/files/file_path.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/memory/weak_ptr.h" |
@@ -51,6 +52,9 @@ struct DriveAppInfo { |
GURL create_url; |
}; |
+// Callback type for UninstallApp(). |
+typedef base::Callback<void(google_apis::GDataErrorCode)> UninstallCallback; |
+ |
// Keeps the track of installed drive applications in-memory. |
class DriveAppRegistry { |
public: |
@@ -63,6 +67,19 @@ class DriveAppRegistry { |
const std::string& mime_type, |
std::vector<DriveAppInfo>* apps) const; |
+ // Returns the list of all Drive apps installed. |
+ void GetAppList(std::vector<DriveAppInfo>* apps) const; |
+ |
+ // Uninstalls the app specified by |app_id|. This method sends requests to the |
+ // remote server, and returns the result to |callback| asynchronously. |
+ // |callback| must not be null. |
+ void UninstallApp(const std::string& app_id, |
+ const UninstallCallback& callback); |
+ |
+ // Checks whether UinstallApp is supported. The feature is available only for |
+ // clients with whitelisted API keys (like Official Google Chrome build). |
+ static bool IsAppUninstallSupported(); |
+ |
// Updates this registry by fetching the data from the server. |
void Update(); |
@@ -75,6 +92,11 @@ class DriveAppRegistry { |
void UpdateAfterGetAppList(google_apis::GDataErrorCode gdata_error, |
scoped_ptr<google_apis::AppList> app_list); |
+ // Part of UninstallApp(). Receives the response from the server. |
+ void OnAppUninstalled(const std::string& app_id, |
+ const UninstallCallback& callback, |
+ google_apis::GDataErrorCode error); |
+ |
// Map of application id to each app's info. |
std::map<std::string, DriveAppInfo> all_apps_; |