Index: ios/chrome/app/main_controller.h |
diff --git a/ios/chrome/app/main_controller.h b/ios/chrome/app/main_controller.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9181a6ce74bc223f98ddc760abc12eaeebc6c375 |
--- /dev/null |
+++ b/ios/chrome/app/main_controller.h |
@@ -0,0 +1,57 @@ |
+// Copyright 2012 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 IOS_CHROME_APP_MAIN_CONTROLLER_H_ |
+#define IOS_CHROME_APP_MAIN_CONTROLLER_H_ |
+ |
+#import <UIKit/UIKit.h> |
+ |
+#import "ios/chrome/app/application_delegate/app_navigation.h" |
+#import "ios/chrome/app/application_delegate/browser_launcher.h" |
+#import "ios/chrome/app/application_delegate/startup_information.h" |
+#import "ios/chrome/app/application_delegate/tab_opening.h" |
+#import "ios/chrome/app/application_delegate/tab_switching.h" |
+#import "ios/chrome/browser/ui/main/browser_view_information.h" |
+ |
+@class AppState; |
+@class MetricsMediator; |
+ |
+// The main controller of the application, owned by the MainWindow nib. Also |
+// serves as the delegate for the app. Owns all the various top-level |
+// UI controllers. |
+// |
+// By design, it has no public API of its own. Anything interacting with |
+// MainController should be doing so through a specific protocol. |
+@interface MainController : NSObject<AppNavigation, |
+ BrowserLauncher, |
+ StartupInformation, |
+ TabOpening, |
+ TabSwitching> |
+ |
+// A BrowserViewInformation object to perform BrowserViewController operations. |
+@property(nonatomic, readonly) id<BrowserViewInformation> |
+ browserViewInformation; |
+ |
+// The application window. |
+@property(nonatomic, retain) UIWindow* window; |
+ |
+// Contains information about the application state, for example whether the |
+// safe mode is activated. |
+@property(nonatomic, assign) AppState* appState; |
+ |
+// This metrics mediator is used to check and update the metrics accordingly to |
+// to the user preferences. |
+@property(nonatomic, assign) MetricsMediator* metricsMediator; |
+ |
+// UIResponder addition to execute a Chrome command. Overridden in UIWindow to |
+// forward the call to the application delegate. The application delegate |
+// forwards the call to this class. |
+- (void)chromeExecuteCommand:(id)sender; |
+ |
+// Returns whether the tab switcher is active. |
+- (BOOL)isTabSwitcherActive; |
+ |
+@end |
+ |
+#endif // IOS_CHROME_APP_MAIN_CONTROLLER_H_ |