From 595777db2332a3442b73f9af9f656355f207aec9 Mon Sep 17 00:00:00 2001 From: ras0219 <533828+ras0219@users.noreply.github.com> Date: Tue, 15 Dec 2020 10:28:20 -0800 Subject: [vcpkg] Remove extra indirection in IVersionedPortfileProvider/IBaselineProvider (#15010) * [vcpkg] Remove extra indirection in IVersionedPortfileProvider/IBaselineProvider * [vcpkg] Address CR comment Co-authored-by: Robert Schumacher --- toolsrc/include/vcpkg/portfileprovider.h | 37 ++++++-------------------------- 1 file changed, 6 insertions(+), 31 deletions(-) (limited to 'toolsrc/include') diff --git a/toolsrc/include/vcpkg/portfileprovider.h b/toolsrc/include/vcpkg/portfileprovider.h index 1ce934c9e..9dbd5ec51 100644 --- a/toolsrc/include/vcpkg/portfileprovider.h +++ b/toolsrc/include/vcpkg/portfileprovider.h @@ -41,6 +41,7 @@ namespace vcpkg::PortFileProvider struct IVersionedPortfileProvider { virtual const std::vector& get_port_versions(StringView port_name) const = 0; + virtual ~IVersionedPortfileProvider() = default; virtual ExpectedS get_control_file( const vcpkg::Versions::VersionSpec& version_spec) const = 0; @@ -48,38 +49,12 @@ namespace vcpkg::PortFileProvider struct IBaselineProvider { - virtual Optional get_baseline_version(StringView port_name) const = 0; - }; - - namespace details - { - struct BaselineProviderImpl; - struct VersionedPortfileProviderImpl; - } - - struct VersionedPortfileProvider : IVersionedPortfileProvider, Util::ResourceBase - { - explicit VersionedPortfileProvider(const vcpkg::VcpkgPaths& paths); - ~VersionedPortfileProvider(); - - const std::vector& get_port_versions(StringView port_name) const override; - - ExpectedS get_control_file( - const vcpkg::Versions::VersionSpec& version_spec) const override; + virtual ~IBaselineProvider() = default; - private: - std::unique_ptr m_impl; + virtual Optional get_baseline_version(StringView port_name) const = 0; }; - struct BaselineProvider : IBaselineProvider, Util::ResourceBase - { - explicit BaselineProvider(const vcpkg::VcpkgPaths& paths); - BaselineProvider(const vcpkg::VcpkgPaths& paths, const std::string& baseline); - ~BaselineProvider(); - - Optional get_baseline_version(StringView port_name) const override; - - private: - std::unique_ptr m_impl; - }; + std::unique_ptr make_baseline_provider(const vcpkg::VcpkgPaths& paths); + std::unique_ptr make_baseline_provider(const vcpkg::VcpkgPaths& paths, StringView baseline); + std::unique_ptr make_versioned_portfile_provider(const vcpkg::VcpkgPaths& paths); } -- cgit v1.2.3