blob: 08bf8093a53bb3c51d4a9ef37ad0fbec64608882 [file] [log] [blame]
// 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);
};