diff options
Diffstat (limited to 'core/extension/gdextension_manager.h')
-rw-r--r-- | core/extension/gdextension_manager.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/core/extension/gdextension_manager.h b/core/extension/gdextension_manager.h index 3643f043d8..8cd6d5a3e2 100644 --- a/core/extension/gdextension_manager.h +++ b/core/extension/gdextension_manager.h @@ -53,6 +53,15 @@ public: LOAD_STATUS_NEEDS_RESTART, }; +private: + LoadStatus _load_extension_internal(const Ref<GDExtension> &p_extension); + LoadStatus _unload_extension_internal(const Ref<GDExtension> &p_extension); + +#ifdef TOOLS_ENABLED + static void _reload_all_scripts(); +#endif + +public: LoadStatus load_extension(const String &p_path); LoadStatus reload_extension(const String &p_path); LoadStatus unload_extension(const String &p_path); @@ -66,9 +75,15 @@ public: void initialize_extensions(GDExtension::InitializationLevel p_level); void deinitialize_extensions(GDExtension::InitializationLevel p_level); +#ifdef TOOLS_ENABLED + void track_instance_binding(void *p_token, Object *p_object); + void untrack_instance_binding(void *p_token, Object *p_object); +#endif + static GDExtensionManager *get_singleton(); void load_extensions(); + void reload_extensions(); GDExtensionManager(); }; |