1 // Copyright 2019 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_COORDINATOR_H_ 6 #define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_COORDINATOR_H_ 7 8 #import "ios/chrome/browser/ui/coordinators/chrome_coordinator.h" 9 #import "ios/chrome/browser/ui/settings/google_services/sync_settings_view_state.h" 10 11 @class ManageSyncSettingsCoordinator; 12 @protocol SyncSettingsViewState; 13 14 // Delegate for ManageSyncSettingsCoordinator. 15 @protocol ManageSyncSettingsCoordinatorDelegate <NSObject> 16 17 // Called when the view controller is removed from its parent. 18 - (void)manageSyncSettingsCoordinatorWasRemoved: 19 (ManageSyncSettingsCoordinator*)coordinator; 20 21 @end 22 23 // Coordinator for the Manage Sync Settings TableView Controller. 24 // This class doesn't commit any sync changes made by the user. This class 25 // relies on GoogleServicesSettingsCoordinator to commit the sync changes. 26 @interface ManageSyncSettingsCoordinator 27 : ChromeCoordinator <SyncSettingsViewState> 28 29 - (instancetype)initWithBaseViewController:(UIViewController*)viewController 30 browser:(Browser*)browser NS_UNAVAILABLE; 31 32 - (instancetype)initWithBaseNavigationController: 33 (UINavigationController*)navigationController 34 browser:(Browser*)browser 35 NS_DESIGNATED_INITIALIZER; 36 37 // Delegate. 38 @property(nonatomic, weak) id<ManageSyncSettingsCoordinatorDelegate> delegate; 39 40 @end 41 42 #endif // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_COORDINATOR_H_ 43