// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef MOJO_CORE_PLATFORM_HANDLE_IN_TRANSIT_H_ #define MOJO_CORE_PLATFORM_HANDLE_IN_TRANSIT_H_ #include "base/process/process.h" #include "build/build_config.h" #include "mojo/public/cpp/platform/platform_handle.h" #if BUILDFLAG(IS_WIN) #include <windows.h> #endif namespace mojo { namespace core { // Owns a PlatformHandle which may actually belong to another process. On // Windows and (sometimes) Mac, handles in a message object may take on values // which only have meaning in the context of a remote process. // // This class provides a safe way of scoping the lifetime of such handles so // that they don't leak when transmission can't be completed. class PlatformHandleInTransit { … }; } // namespace core } // namespace mojo #endif // MOJO_CORE_PLATFORM_HANDLE_IN_TRANSIT_H_