// Copyright 2018 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. module chrome_cleaner.mojom; import "chrome/chrome_cleaner/interfaces/cleaner_engine_requests.mojom"; import "chrome/chrome_cleaner/interfaces/engine_requests.mojom"; import "chrome/chrome_cleaner/interfaces/engine_file_requests.mojom"; import "chrome/chrome_cleaner/interfaces/pup.mojom"; import "components/chrome_cleaner/public/interfaces/chrome_prompt.mojom"; // All result_code parameters and return values in these interfaces correspond // to ESETResultCode values for the ESET engine, and to // EngineOperationStatus::ResultCode values the Urza engine. // This interface passes scan results back from the target process to the // broker process. interface EngineScanResults { // Called zero or more times with details of UwS. FoundUwS(uint32 pup_id, PUP pup); // Called exactly once, after any calls to FoundUwS. Done(uint32 result_code); }; // This interface passes cleanup results back from the target process to the // broker process. interface EngineCleanupResults { // Called once the cleaner has finished cleaning. Done(uint32 result_code); }; // This interface connects the sandbox broker process to the sandbox target // process, which implements the interface using functions declared in // third_party/eset_lib/src/api/eset_cleaner.h. interface EngineCommands { // Runs the engine's initialization routine. Initialize(associated EngineFileRequests file_requests, FilePath log_directory) => (uint32 result_code); // Starts scanning the user's system. // |enabled_uws| contains a list of UwS IDs to scan for. // |enabled_trace_locations| is a list of trace locations, to which scanning // should be limited. // |include_details| is true if the results should include full details of // each UwS found, false if the results should include only the ID. // |results| is an interface which will be used to return results: // FoundUwS will be called 0 or more times with details of the UwS found, // followed by exactly one call to Done. // // If the scan request returns an error immediately, that error is returned // and |results| is not used. Otherwise a success result code is returned and // any further errors will be reported by calling Done on the |results| // interface. StartScan(array enabled_uws, array enabled_trace_locations, bool include_details, associated EngineFileRequests file_requests, associated EngineRequests sandboxed_engine_requests, associated EngineScanResults results) => (uint32 result_code); // Starts cleaning up the user's system. |enabled_uws| contains a list of UwS // IDs to cleanup. // // If the cleanup request returns an error immediately, that error is returned // and |results| is not used. Otherwise a success result code is returned and // any further errors will be reported by calling Done on the |results| // interface. StartCleanup(array enabled_uws, associated EngineFileRequests file_requests, associated EngineRequests sandboxed_engine_requests, associated CleanerEngineRequests sandboxed_cleaner_engine_requests, associated EngineCleanupResults results) => (uint32 result_code); // Runs the engine's finalization routine. Finalize() => (uint32 result_code); };