summaryrefslogtreecommitdiffstats
path: root/apps/apps_client.h
diff options
context:
space:
mode:
authorbenwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-13 06:55:04 +0000
committerbenwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-13 06:55:04 +0000
commit01996a5942bca6eaa46b53be5edaed3be84cbc48 (patch)
tree6990c41bee7070e348735551a47a90142fd6f102 /apps/apps_client.h
parent67a8e72bd6e39955c9769f766e3b9b7f2ae846a0 (diff)
downloadchromium_src-01996a5942bca6eaa46b53be5edaed3be84cbc48.zip
chromium_src-01996a5942bca6eaa46b53be5edaed3be84cbc48.tar.gz
chromium_src-01996a5942bca6eaa46b53be5edaed3be84cbc48.tar.bz2
Introduce AppsClient and use it in apps to get the loaded profiles list.
This breaks one dependency from the apps component to g_browser_process and some dependencies on profile. BUG=159366 Review URL: https://chromiumcodereview.appspot.com/23524005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222988 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'apps/apps_client.h')
-rw-r--r--apps/apps_client.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/apps/apps_client.h b/apps/apps_client.h
new file mode 100644
index 0000000..c3a58ca
--- /dev/null
+++ b/apps/apps_client.h
@@ -0,0 +1,32 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef APPS_APPS_CLIENT_H_
+#define APPS_APPS_CLIENT_H_
+
+#include <vector>
+
+namespace content {
+class BrowserContext;
+}
+
+namespace apps {
+
+// Sets up global state for the apps system. Should be Set() once in each
+// process. This should be implemented by the client of the apps system.
+class AppsClient {
+ public:
+ // Get all loaded browser contexts.
+ virtual std::vector<content::BrowserContext*> GetLoadedBrowserContexts() = 0;
+
+ // Return the apps client.
+ static AppsClient* Get();
+
+ // Initialize the apps system with this apps client.
+ static void Set(AppsClient* client);
+};
+
+} // namespace apps
+
+#endif // APPS_APPS_CLIENT_H_