summaryrefslogtreecommitdiffstats
path: root/src/core/Dictionary.cpp
diff options
context:
space:
mode:
authorKarroffel <therzog@mail.de>2017-05-12 21:53:07 +0200
committerKarroffel <therzog@mail.de>2017-05-12 21:53:07 +0200
commitcf30b0f39ddb2c6acad5d22655c4bca9015d7502 (patch)
tree45a4df6ff16450b334d6c8856a74f4f47f3e9336 /src/core/Dictionary.cpp
parent3969bcf07857b1a4af391bbddb924388cc7f44bb (diff)
downloadredot-cpp-cf30b0f39ddb2c6acad5d22655c4bca9015d7502.tar.gz
rewrote binding generator in python
Diffstat (limited to 'src/core/Dictionary.cpp')
-rw-r--r--src/core/Dictionary.cpp91
1 files changed, 91 insertions, 0 deletions
diff --git a/src/core/Dictionary.cpp b/src/core/Dictionary.cpp
new file mode 100644
index 0000000..7ac6312
--- /dev/null
+++ b/src/core/Dictionary.cpp
@@ -0,0 +1,91 @@
+#include "Dictionary.hpp"
+
+#include "Variant.hpp"
+
+#include "Array.hpp"
+
+#include <godot/godot_dictionary.h>
+
+namespace godot {
+
+Dictionary::Dictionary()
+{
+ godot_dictionary_new(&_godot_dictionary);
+}
+
+void Dictionary::clear()
+{
+ godot_dictionary_clear(&_godot_dictionary);
+}
+
+bool Dictionary::empty() const
+{
+ return godot_dictionary_empty(&_godot_dictionary);
+}
+
+void Dictionary::erase(const Variant& key)
+{
+ godot_dictionary_erase(&_godot_dictionary, (godot_variant *) &key);
+}
+
+bool Dictionary::has(const Variant& key) const
+{
+ return godot_dictionary_has(&_godot_dictionary, (godot_variant *) &key);
+}
+
+bool Dictionary::has_all(const Array& keys) const
+{
+ return godot_dictionary_has_all(&_godot_dictionary, (godot_array *) &keys);
+}
+
+uint32_t Dictionary::hash() const
+{
+ return godot_dictionary_hash(&_godot_dictionary);
+}
+
+Array Dictionary::keys() const
+{
+ godot_array a = godot_dictionary_keys(&_godot_dictionary);
+ return *(Array *) &a;
+}
+
+int Dictionary::parse_json(const String& json)
+{
+ return godot_dictionary_parse_json(&_godot_dictionary, (godot_string *) &json);
+}
+
+Variant &Dictionary::operator [](const Variant& key)
+{
+ return *(Variant *) godot_dictionary_operator_index(&_godot_dictionary, (godot_variant *) &key);
+}
+
+const Variant &Dictionary::operator [](const Variant& key) const
+{
+ // oops I did it again
+ return *(Variant *) godot_dictionary_operator_index((godot_dictionary *) &_godot_dictionary, (godot_variant *) &key);
+}
+
+int Dictionary::size() const
+{
+ return godot_dictionary_size(&_godot_dictionary);
+}
+
+String Dictionary::to_json() const
+{
+ godot_string s = godot_dictionary_to_json(&_godot_dictionary);
+ return *(String *) &s;
+}
+
+Array Dictionary::values() const
+{
+ godot_array a = godot_dictionary_values(&_godot_dictionary);
+ return *(Array *) &a;
+}
+
+Dictionary::~Dictionary()
+{
+ godot_dictionary_destroy(&_godot_dictionary);
+}
+
+
+}