| // 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<uint32> enabled_uws, |
| array<TraceLocation> 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<uint32> 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); |
| }; |