|
@@ -718,6 +718,27 @@ void OS::remove_logger(const Ref<Logger> &p_logger) {
|
|
|
logger_bind->loggers.erase(p_logger);
|
|
|
}
|
|
|
|
|
|
+void OS::remove_script_loggers(const ScriptLanguage *p_script) {
|
|
|
+ if (logger_bind) {
|
|
|
+ LocalVector<Ref<CoreBind::Logger>> to_remove;
|
|
|
+ for (const Ref<CoreBind::Logger> &logger : logger_bind->loggers) {
|
|
|
+ if (logger.is_null()) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ ScriptInstance *si = logger->get_script_instance();
|
|
|
+ if (!si) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (si->get_language() == p_script) {
|
|
|
+ to_remove.push_back(logger);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (const Ref<CoreBind::Logger> &logger : to_remove) {
|
|
|
+ logger_bind->loggers.erase(logger);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
void OS::_bind_methods() {
|
|
|
ClassDB::bind_method(D_METHOD("get_entropy", "size"), &OS::get_entropy);
|
|
|
ClassDB::bind_method(D_METHOD("get_system_ca_certificates"), &OS::get_system_ca_certificates);
|