// Copyright 2013 The Flutter 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 FLUTTER_ASSETS_ASSET_MANAGER_H_ #define FLUTTER_ASSETS_ASSET_MANAGER_H_ #include #include #include #include "flutter/assets/asset_resolver.h" #include "flutter/fml/macros.h" #include "flutter/fml/memory/ref_counted.h" namespace flutter { class AssetManager final : public AssetResolver { public: AssetManager(); ~AssetManager() override; void PushFront(std::unique_ptr resolver); void PushBack(std::unique_ptr resolver); // |AssetResolver| bool IsValid() const override; // |AssetResolver| std::unique_ptr GetAsMapping( const std::string& asset_name) const override; private: std::deque> resolvers_; FML_DISALLOW_COPY_AND_ASSIGN(AssetManager); }; } // namespace flutter #endif // FLUTTER_ASSETS_ASSET_MANAGER_H_