blob: e5ffd3f465d5cb09ed6a4759071a3f3392c94ce8 [file] [log] [blame]
// Copyright 2015 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_BROWSER_UI_SETTINGS_SETTINGS_COLLECTION_VIEW_CONTROLLER_H_
#define IOS_CHROME_BROWSER_UI_SETTINGS_SETTINGS_COLLECTION_VIEW_CONTROLLER_H_
#import "ios/chrome/browser/ui/settings/settings_navigation_controller.h"
#import "ios/chrome/browser/ui/settings/settings_root_collection_view_controller.h"
@class SigninInteractionController;
namespace ios {
class ChromeBrowserState;
} // namespace ios
// The accessibility identifier of the settings collection view.
extern NSString* const kSettingsCollectionViewId;
// The accessibility identifier of the sign in cell.
extern NSString* const kSettingsSignInCellId;
// The accessibility identifier of the account cell.
extern NSString* const kSettingsAccountCellId;
// The accessibility identifier of the Search Engine cell.
extern NSString* const kSettingsSearchEngineCellId;
// The accessibility identifier of the Voice Search cell.
extern NSString* const kSettingsVoiceSearchCellId;
// This class is the collection view for the application settings.
@interface SettingsCollectionViewController
: SettingsRootCollectionViewController<SettingsControllerProtocol>
// The controller used to signin on this screen. Returns nil unless a signin is
// currently occuring.
@property(weak, nonatomic, readonly)
SigninInteractionController* signinInteractionController;
// Initializes a new SettingsCollectionViewController. |mainBrowserState|,
// |currentBrowserState| and |dataSource| must not be nil.
// If |currentBrowserState| is not off the record, then it must be equal to
// |mainBrowserState|.
- (instancetype)initWithBrowserState:(ios::ChromeBrowserState*)mainBrowserState
currentBrowserState:
(ios::ChromeBrowserState*)currentBrowserState
NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithStyle:(CollectionViewControllerStyle)style
NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
@end
#endif // IOS_CHROME_BROWSER_UI_SETTINGS_SETTINGS_COLLECTION_VIEW_CONTROLLER_H_