| // 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; |
| |
| enum PredefinedHandle { |
| NULL_HANDLE, |
| INVALID_HANDLE, |
| CLASSES_ROOT, |
| CURRENT_CONFIG, |
| CURRENT_USER, |
| LOCAL_MACHINE, |
| USERS, |
| }; |
| |
| // Mojo can't pass predefined handles through its |handle| type, so use a |
| // wrapper that puts these in |special_handle| and plain handles in |
| // |raw_handle|. Typemapped to HANDLE. |
| union WindowsHandle { |
| handle raw_handle; |
| PredefinedHandle special_handle; |
| }; |
| |
| interface TestWindowsHandle { |
| EchoHandle(WindowsHandle in_WindowsHandle) => |
| (WindowsHandle out_WindowsHandle); |
| |
| EchoRawHandle(handle in_handle) => (handle out_handle); |
| }; |