Game Develop C++ Platform: DependenciesAnalyzer.h Source File

| Game Develop C++ Platform Platform for developing native games based on OpenGL and SFML with Game Develop

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
DependenciesAnalyzer.h
Go to the documentation of this file.
1
5 #if defined(GD_IDE_ONLY)
6 #ifndef DEPENDENCIESANALYZER_H
7 #define DEPENDENCIESANALYZER_H
8 #include <set>
9 #include <string>
10 #include <vector>
11 #include <boost/shared_ptr.hpp>
12 namespace gd { class BaseEvent; }
13 namespace gd { class Project; }
14
15 class DependenciesAnalyzer
16 {
17 public:
18 DependenciesAnalyzer(gd::Project & project_) : project(project_) {};
19 virtual ~DependenciesAnalyzer();
20
26 bool Analyze(std::vector< boost::shared_ptr<gd::BaseEvent> > & events);
27
35 std::string ExternalEventsCanBeCompiledForAScene(const std::string & externalEventsName);
36
37 const std::set< std::string > & GetScenesDependencies() const { return scenesDependencies; };
38 const std::set< std::string > & GetExternalEventsDependencies() const { return externalEventsDependencies; };
39 const std::set< std::string > & GetSourceFilesDependencies() const { return sourceFilesDependencies; };
40
41 void SetBaseScene(std::string baseScene_) { baseScene = baseScene_;};
42 void SetBaseExteralEvents(std::string baseExternalEvents_) { baseExternalEvents = baseExternalEvents_;};
43
44 private:
45
46 std::set< std::string > scenesDependencies;
47 std::set< std::string > externalEventsDependencies;
48 std::set< std::string > sourceFilesDependencies;
49 std::string baseScene;
50 std::string baseExternalEvents;
51
56 bool CheckIfExternalEventsIsLinkedOnlyAtTopLevel(const std::string & externalEventsName, std::vector< boost::shared_ptr<gd::BaseEvent> > & events);
57
58 gd::Project & project;
59 };
60
61 #endif // DEPENDENCIESANALYZER_H
62 #endif