summaryrefslogtreecommitdiffstats
path: root/modules/gdnative/nativescript/nativescript.h
diff options
context:
space:
mode:
authorkarroffel <therzog@mail.de>2018-04-04 21:32:49 +0200
committerkarroffel <therzog@mail.de>2018-04-05 00:06:33 +0200
commitad93d3e277e9cf8f9081b4a09d2832f0fbc95dcf (patch)
tree616ed30f1c20d13d854bcf07cc9f6f2386731af4 /modules/gdnative/nativescript/nativescript.h
parentc5bb997a8f2d538cc89ac09ddd0ea8d5cf69df88 (diff)
downloadredot-engine-ad93d3e277e9cf8f9081b4a09d2832f0fbc95dcf.tar.gz
[NativeScript] added global type tag system
Diffstat (limited to 'modules/gdnative/nativescript/nativescript.h')
-rw-r--r--modules/gdnative/nativescript/nativescript.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/gdnative/nativescript/nativescript.h b/modules/gdnative/nativescript/nativescript.h
index 17b6ddc747..68a8126a32 100644
--- a/modules/gdnative/nativescript/nativescript.h
+++ b/modules/gdnative/nativescript/nativescript.h
@@ -36,6 +36,7 @@
#include "core/self_list.h"
#include "io/resource_loader.h"
#include "io/resource_saver.h"
+#include "oa_hash_map.h"
#include "ordered_hash_map.h"
#include "os/thread_safe.h"
#include "scene/main/node.h"
@@ -240,6 +241,8 @@ private:
Vector<Pair<bool, godot_instance_binding_functions> > binding_functions;
Set<Vector<void *> *> binding_instances;
+ Map<int, HashMap<StringName, const void *> > global_type_tags;
+
public:
// These two maps must only be touched on the main thread
Map<String, Map<StringName, NativeScriptDesc> > library_classes;
@@ -323,6 +326,9 @@ public:
virtual void *alloc_instance_binding_data(Object *p_object);
virtual void free_instance_binding_data(void *p_data);
+
+ void set_global_type_tag(int p_idx, StringName p_class_name, const void *p_type_tag);
+ const void *get_global_type_tag(int p_idx, StringName p_class_name) const;
};
inline NativeScriptDesc *NativeScript::get_script_desc() const {