chromium/mojo/public/cpp/platform/platform_channel_server.h

// Copyright 2023 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_PUBLIC_CPP_PLATFORM_PLATFORM_CHANNEL_SERVER_H_
#define MOJO_PUBLIC_CPP_PLATFORM_PLATFORM_CHANNEL_SERVER_H_

#include <memory>

#include "base/component_export.h"
#include "base/functional/callback.h"
#include "base/task/single_thread_task_runner.h"
#include "mojo/public/cpp/platform/platform_channel_endpoint.h"
#include "mojo/public/cpp/platform/platform_channel_server_endpoint.h"

namespace mojo {

// PlatformChannelServer takes ownership of a PlatformChannelServerEndpoint
// and listens for a single incoming client connection.
//
// This class is not thread-safe and must be used on a thread which runs an I/O
// MessagePump.
class COMPONENT_EXPORT(MOJO_CPP_PLATFORM) PlatformChannelServer {};

}  // namespace mojo

#endif  // MOJO_PUBLIC_CPP_PLATFORM_PLATFORM_CHANNEL_SERVER_H_