// Copyright 2024 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_PROFILES_BATCH_UPLOAD_BATCH_UPLOAD_CONTROLLER_H_ #define CHROME_BROWSER_PROFILES_BATCH_UPLOAD_BATCH_UPLOAD_CONTROLLER_H_ #include <memory> #include "base/containers/flat_map.h" #include "base/functional/callback.h" #include "chrome/browser/profiles/batch_upload/batch_upload_data_provider.h" class BatchUploadDelegate; class Browser; // Data types that integrates with the Batch Upload and can be displayed in the // dialog. // Ordered by priority as the enum will be used in a map. The priority order // controls the order in which the data type section is displayed in the dialog. enum class BatchUploadDataType { … }; // Controller that manages the information displayed in the Batch Upload dialog. // Contains the interfaces that communicates with the different data types, // getting the exact information to display (retrieving the local data per // type), and process the user input from the dialog, to be redirected to the // right data type to move the items to the account storage. class BatchUploadController { … }; #endif // CHROME_BROWSER_PROFILES_BATCH_UPLOAD_BATCH_UPLOAD_CONTROLLER_H_