| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef PERIDOT_LIB_MODULE_MANIFEST_MODULE_FACET_READER_IMPL_H_ |
| #define PERIDOT_LIB_MODULE_MANIFEST_MODULE_FACET_READER_IMPL_H_ |
| |
| #include <fuchsia/sys/cpp/fidl.h> |
| |
| #include "lib/fxl/macros.h" |
| #include "peridot/lib/module_manifest/module_facet_reader.h" |
| |
| namespace modular { |
| |
| class ModuleFacetReaderImpl : public ModuleFacetReader { |
| public: |
| // This ModuleFacetReader implementation uses the fuchsia.sys.Loader interface |
| // to retreive information for where the module facet is located. |
| explicit ModuleFacetReaderImpl(fuchsia::sys::LoaderPtr loader); |
| ~ModuleFacetReaderImpl() override; |
| |
| private: |
| void GetModuleManifest(const std::string& module_url, |
| GetModuleManifestCallback callback) override; |
| |
| fuchsia::sys::LoaderPtr loader_; |
| |
| FXL_DISALLOW_COPY_AND_ASSIGN(ModuleFacetReaderImpl); |
| }; |
| |
| } // namespace modular |
| |
| #endif // PERIDOT_LIB_MODULE_MANIFEST_MODULE_FACET_READER_IMPL_H_ |