summaryrefslogtreecommitdiffstats
path: root/apps/apps_client.h
diff options
context:
space:
mode:
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_