diff --git a/.gitignore b/.gitignore index 61373af..4dea5f2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ build *.node .lock-wscript +.DS_Store + diff --git a/src/node_dbus_convert.hpp b/src/node_dbus_convert.hpp index a9cf944..2de2c63 100644 --- a/src/node_dbus_convert.hpp +++ b/src/node_dbus_convert.hpp @@ -139,6 +139,9 @@ struct v8_sink { case DBUS_TYPE_BOOLEAN: dst_->Set(idx_++, v8::Boolean::New(it.get())); break; + case DBUS_TYPE_DOUBLE: + dst_->Set(idx_++, v8::Number::New(it.get())); + break; case DBUS_TYPE_INT32: dst_->Set(idx_++, v8::Integer::New(it.get())); break; @@ -196,6 +199,9 @@ class dbus_sink { } else if ((*it)->IsUint32()) { uint32_t v = (*it)->Uint32Value(); dbus_message_iter_append_basic( & it_, DBUS_TYPE_UINT32, & v); + } else if ((*it)->IsNumber()) { + double v = (*it)->NumberValue(); + dbus_message_iter_append_basic( & it_, DBUS_TYPE_DOUBLE, & v); } else if ((*it)->IsString()) { v8::String::Utf8Value v((*it)->ToString()); const char * str = *v;