GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
ExtensionDependencyCache.h
1 /*
2  * GDevelop Core
3  * Copyright 2008-2016 Florian Rival ([email protected]). All rights
4  * reserved. This project is released under the MIT License.
5  */
6 
7 #pragma once
8 
9 #include <map>
10 #include <memory>
11 #include <set>
12 
13 #include "GDCore/String.h"
14 
15 namespace gd {
16 class Project;
17 } // namespace gd
18 
19 namespace gd {
20 
26 class GD_CORE_API ExtensionDependencyCache {
27 public:
28  const std::set<gd::String> &
29  FindRequiredExtensionsRecursively(gd::Project &project,
30  const gd::String &extensionName);
31 
32 private:
33  std::set<gd::String> &
34  InsertAndGetNewDependencies(const gd::String &extensionName);
35 
36  std::map<gd::String, std::set<gd::String>> dependenciesByExtension;
37 };
38 
39 }; // namespace gd
Definition: ExtensionDependencyCache.h:26
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:51
String represents an UTF8 encoded string.
Definition: String.h:33
Definition: CommonTools.h:24