aboutsummaryrefslogtreecommitdiff
path: root/system/lib/embind
diff options
context:
space:
mode:
authorChad Austin <chad@chadaustin.me>2012-09-25 17:54:54 -0700
committerChad Austin <chad@chadaustin.me>2012-09-25 18:14:28 -0700
commit2530052556075021ed59f0f7e3b1028ee1030556 (patch)
tree61492c566e3939b9ee34f11b4e2594e4663f3e64 /system/lib/embind
parent86305a27d4552167f76dd9e19e0c8e45aa645caa (diff)
Move embind C++ implementation into emscripten repository
Diffstat (limited to 'system/lib/embind')
-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");
+ }
+ }
+ }
+}