aboutsummaryrefslogtreecommitdiff
path: root/system/lib
diff options
context:
space:
mode:
Diffstat (limited to 'system/lib')
-rwxr-xr-xsystem/lib/embind/bind.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/system/lib/embind/bind.cpp b/system/lib/embind/bind.cpp
new file mode 100755
index 00000000..b63a86aa
--- /dev/null
+++ b/system/lib/embind/bind.cpp
@@ -0,0 +1,34 @@
+#include <emscripten/bind.h>
+
+using namespace emscripten;
+
+namespace emscripten {
+ namespace internal {
+ void registerStandardTypes() {
+ static bool first = true;
+ if (first) {
+ first = false;
+
+ _embind_register_void(getTypeID<void>(), "void");
+
+ _embind_register_bool(getTypeID<bool>(), "bool", true, false);
+
+ _embind_register_integer(getTypeID<char>(), "char");
+ _embind_register_integer(getTypeID<signed char>(), "signed char");
+ _embind_register_integer(getTypeID<unsigned char>(), "unsigned char");
+ _embind_register_integer(getTypeID<signed short>(), "short");
+ _embind_register_integer(getTypeID<unsigned short>(), "unsigned short");
+ _embind_register_integer(getTypeID<signed int>(), "int");
+ _embind_register_integer(getTypeID<unsigned int>(), "unsigned int");
+ _embind_register_integer(getTypeID<signed long>(), "long");
+ _embind_register_integer(getTypeID<unsigned long>(), "unsigned long");
+
+ _embind_register_float(getTypeID<float>(), "float");
+ _embind_register_float(getTypeID<double>(), "double");
+
+ _embind_register_cstring(getTypeID<std::string>(), "std::string");
+ _embind_register_emval(getTypeID<val>(), "emscripten::val");
+ }
+ }
+ }
+}