chromium/services/service_manager/public/cpp/standalone_connector_impl.h

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SERVICES_SERVICE_MANAGER_PUBLIC_CPP_STANDALONE_CONNECTOR_IMPL_H_
#define SERVICES_SERVICE_MANAGER_PUBLIC_CPP_STANDALONE_CONNECTOR_IMPL_H_

#include "base/component_export.h"
#include "base/memory/raw_ptr.h"
#include "mojo/public/cpp/bindings/generic_pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "services/service_manager/public/mojom/connector.mojom.h"

namespace service_manager {

// StandaloneConnectorImpl is a helper class which can be used to provide a
// backend for |Connector| objects to route requests somewhere other than the
// Service Manager.
//
// This exists to aid in transitioning code away from Service Manager APIs.
// Typically an instance of this class would live in the browser process, with a
// Delegate implementation that knows how to bind any interfaces that its
// clients might request.
class COMPONENT_EXPORT(SERVICE_MANAGER_CPP) StandaloneConnectorImpl
    : private mojom::Connector {};

}  // namespace service_manager

#endif  // SERVICES_SERVICE_MANAGER_PUBLIC_CPP_STANDALONE_CONNECTOR_IMPL_H_