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

// 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 SERVICES_SERVICE_MANAGER_PUBLIC_CPP_MANIFEST_BUILDER_H_
#define SERVICES_SERVICE_MANAGER_PUBLIC_CPP_MANIFEST_BUILDER_H_

#include <set>
#include <utility>

#include "base/component_export.h"
#include "services/service_manager/public/cpp/manifest.h"

namespace service_manager {

namespace internal {

template <typename InterfaceType>
const char* GetInterfaceName() {}

template <typename... InterfaceTypes>
Manifest::InterfaceNameSet GetInterfaceNames() {}

}  // namespace internal

// Helper for building Manifest structures in a more readable and writable
// manner than direct construction.
class COMPONENT_EXPORT(SERVICE_MANAGER_CPP) ManifestBuilder {};

// Helper for building Manifest::Options structures in a more readable and
// writable manner than direct construction.
class COMPONENT_EXPORT(SERVICE_MANAGER_CPP) ManifestOptionsBuilder {};

}  // namespace service_manager

#endif  // SERVICES_SERVICE_MANAGER_PUBLIC_CPP_MANIFEST_BUILDER_H_