7 #ifndef GDCORE_PLATFORM_H
8 #define GDCORE_PLATFORM_H
13 #include "GDCore/Extensions/Metadata/InstructionOrExpressionGroupMetadata.h"
14 #include "GDCore/String.h"
16 class InstructionsMetadataHolder;
19 class ObjectConfiguration;
21 class BehaviorMetadata;
24 class BehaviorsSharedData;
25 class PlatformExtension;
26 class LayoutEditorCanvas;
27 class ProjectExporter;
30 typedef std::function<std::unique_ptr<gd::ObjectConfiguration>()>
97 virtual bool AddExtension(std::shared_ptr<PlatformExtension> extension);
102 bool IsExtensionLoaded(
const gd::String& name)
const;
108 std::shared_ptr<PlatformExtension> GetExtension(
const gd::String& name)
const;
114 const std::vector<std::shared_ptr<gd::PlatformExtension>>&
116 return extensionsLoaded;
125 virtual void RemoveExtension(
const gd::String& name);
133 auto it = instructionOrExpressionGroupMetadata.find(name);
134 if (it == instructionOrExpressionGroupMetadata.end())
135 return badInstructionOrExpressionGroupMetadata;
150 std::unique_ptr<gd::ObjectConfiguration> CreateObjectConfiguration(
156 std::shared_ptr<gd::BaseEvent> CreateEvent(
const gd::String& type)
const;
165 enableExtensionLoadingLogs = enable;
169 std::vector<std::shared_ptr<PlatformExtension>>
171 std::map<gd::String, CreateFunPtr>
172 creationFunctionTable;
173 std::map<gd::String, InstructionOrExpressionGroupMetadata>
174 instructionOrExpressionGroupMetadata;
176 bool enableExtensionLoadingLogs;
String represents an UTF8 encoded string.
Definition: String.h:33
Definition: CommonTools.h:24