// 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/string16_embedded_nulls.mojom"; import "chrome/chrome_cleaner/interfaces/windows_handle.mojom"; import "components/chrome_cleaner/public/interfaces/chrome_prompt.mojom"; import "mojo/public/mojom/base/string16.mojom"; // Source: // https://msdn.microsoft.com/en-us/library/windows/desktop/aa384129.aspx enum Wow64Access { kNone = 0, // KEY_WOW64_64KEY k64Key = 0x0100, // KEY_WOW64_32KEY k32Key = 0x0200, }; // Typemapped to chrome_cleaner::RegKeyPath. struct RegKeyPath { WindowsHandle rootkey; // This is only sent by URZA, which currently doesn't support registry paths // with embedded nulls. mojo_base.mojom.String16 subkey; Wow64Access wow64access; }; // Used for reporting detected registry footprints. // Typemapped to chrome_cleaner::PUPData::RegistryFootprint. struct RegistryFootprint { RegKeyPath key_path; String16EmbeddedNulls value_name; String16EmbeddedNulls value_substring; // An enumerator of chrome_cleaner::RegistryMatchRule. uint32 rule; }; // Typemapped to chrome_cleaner::UwS::TraceLocation enumeration from // chrome_cleaner/logging/proto/shared_data.proto. // The struct is used here as a work-around to make Mojo check passed values // without having to duplicate the enum definition. struct TraceLocation { int32 value; }; // Typemapped to chrome_cleaner::PUPData::FileInfo. struct FileInfo { array found_in; }; // Partially typemapped to chrome_cleaner::PUPData::PUP. // UwS signatures are not included. struct PUP { array expanded_disk_footprints; array expanded_registry_footprints; array expanded_scheduled_tasks; map disk_footprints_info; };