diff --git a/bin/nodejs/Makefile.am b/bin/nodejs/Makefile.am index 6d91b7cd76378a2c3f5a34966e0e2349978f1e43..5923b9f2150129c04b04af9df8639e3b33893780 100644 --- a/bin/nodejs/Makefile.am +++ b/bin/nodejs/Makefile.am @@ -9,7 +9,7 @@ ring_wrapper.cpp: nodejs_interface.i configurationmanager.i managerimpl.i $(SWIG) -v -c++ -javascript -node -o ring_wrapper.cpp nodejs_interface.i build/Makefile: ring_wrapper.cpp binding.gyp - node-gyp configure --target=1.6.2 --arch=x64 --dist-url=https://atom.io/download/electron + node-gyp configure --target=1.6.2 --arch=x64 build/Release/obj.target/dring.node: build/Makefile ring_wrapper.cpp callback.h node-gyp build diff --git a/bin/nodejs/callback.h b/bin/nodejs/callback.h index 1cfb23850549e56ff123d658044a626d4695ec80..b74390471a011292466254a0cb78c526c82daeae 100755 --- a/bin/nodejs/callback.h +++ b/bin/nodejs/callback.h @@ -235,7 +235,7 @@ void accountMessageStatusChanged(const std::string& account_id, uint64_t message uv_async_send(&signalAsync); } -void incomingAccountMessage(const std::string& account_id, const std::string& from, const std::map<std::string, std::string>& payloads) { +void incomingAccountMessage(const std::string& account_id, const std::string& messageId, const std::string& from, const std::map<std::string, std::string>& payloads) { std::lock_guard<std::mutex> lock(pendingSignalsLock); pendingSignals.emplace([account_id, from, payloads]() { @@ -274,7 +274,7 @@ void incomingTrustRequest(const std::string& account_id, const std::string& from pendingSignals.emplace([account_id, from, payload, received]() { Local<Function> func = Local<Function>::New(Isolate::GetCurrent(), incomingTrustRequestCb); if (!func.IsEmpty()) { - Local<Array> jsArray = SWIGV8_ARRAY_NEW(); + Local<Array> jsArray = SWIGV8_ARRAY_NEW(payload.size()); intVectToJsArray(payload, jsArray); Local<Value> callback_args[] = {V8_STRING_NEW(account_id), V8_STRING_NEW(from), jsArray, SWIGV8_NUMBER_NEW(received)}; func->Call(SWIGV8_CURRENT_CONTEXT()->Global(), 4, callback_args); diff --git a/bin/nodejs/callmanager.i b/bin/nodejs/callmanager.i index b51b4e85436c3ccbee95e2894392cf9d97d1e52c..dbcd364b5d3f0aa29755701568d121adbd85d57f 100644 --- a/bin/nodejs/callmanager.i +++ b/bin/nodejs/callmanager.i @@ -96,7 +96,7 @@ void hangupParticipant(const std::string& confId, const std::string& peerId); /* File Playback methods */ bool startRecordedFilePlayback(const std::string& filepath); -void stopRecordedFilePlayback(const std::string& filepath); +void stopRecordedFilePlayback(); /* General audio methods */ bool toggleRecording(const std::string& callID); diff --git a/bin/nodejs/configurationmanager.i b/bin/nodejs/configurationmanager.i index 6eef9ceef27248c2349f26b8f2df09de97b1992f..596dfd7d77745a0f96b074284500f47ce858c92b 100644 --- a/bin/nodejs/configurationmanager.i +++ b/bin/nodejs/configurationmanager.i @@ -34,7 +34,6 @@ public: virtual void volatileAccountDetailsChanged(const std::string& account_id, const std::map<std::string, std::string>& details){} virtual void incomingAccountMessage(const std::string& /*account_id*/, const std::string& /*from*/, const std::map<std::string, std::string>& /*payload*/){} virtual void accountMessageStatusChanged(const std::string& /*account_id*/, uint64_t /*message_id*/, const std::string& /*to*/, int /*state*/){} - virtual void profileReceived(const std::string& /*account_id*/, const std::string& /*from*/, const std::string& /*path*/){} virtual void knownDevicesChanged(const std::string& /*account_id*/, const std::map<std::string, std::string>& /*devices*/){} virtual void exportOnRingEnded(const std::string& /*account_id*/, int /*state*/, const std::string& /*pin*/){} @@ -59,9 +58,9 @@ public: virtual void hardwareDecodingChanged(bool /*state*/){} virtual void hardwareEncodingChanged(bool /*state*/){} -}; virtual void audioMeter(const std::string& /*id*/, float /*level*/){} +}; %} %feature("director") ConfigurationCallback; @@ -234,7 +233,6 @@ public: virtual void volatileAccountDetailsChanged(const std::string& account_id, const std::map<std::string, std::string>& details){} virtual void incomingAccountMessage(const std::string& /*account_id*/, const std::string& /*from*/, const std::map<std::string, std::string>& /*payload*/){} virtual void accountMessageStatusChanged(const std::string& /*account_id*/, uint64_t /*message_id*/, const std::string& /*to*/, int /*state*/){} - virtual void profileReceived(const std::string& /*account_id*/, const std::string& /*from*/, const std::string& /*path*/){} virtual void knownDevicesChanged(const std::string& /*account_id*/, const std::map<std::string, std::string>& /*devices*/){} virtual void exportOnRingEnded(const std::string& /*account_id*/, int /*state*/, const std::string& /*pin*/){} diff --git a/bin/nodejs/meson.build b/bin/nodejs/meson.build index 606b5f2ae2cb4bf2424c3477458659bb137837c7..df48ccec4b1031e1f892d8bb09ab54becb31202c 100644 --- a/bin/nodejs/meson.build +++ b/bin/nodejs/meson.build @@ -5,7 +5,7 @@ nodejs_wrapper_target = custom_target('nodejs.wrapper', ) nodejs_makefile_target = custom_target('nodejs.makefile', - command: [prognodegyp, 'configure', '--target=1.6.2', '--arch=x64', '--dist-url=https://atom.io/download/electron'], + command: [prognodegyp, 'configure', '--target=1.6.2', '--arch=x64'], output: 'build/Makefile', depends: nodejs_wrapper_target ) diff --git a/bin/nodejs/nodejs_interface.i b/bin/nodejs/nodejs_interface.i index b207d053a05d460435ae9b59af77b31337509343..3915d19ca7a0690dcb3cd04647e4ec1b0697cb2e 100644 --- a/bin/nodejs/nodejs_interface.i +++ b/bin/nodejs/nodejs_interface.i @@ -55,25 +55,7 @@ namespace std { } } %template(StringMap) map<string, string>; - - -%extend vector<string> { - value_type set(int i, const value_type& in) throw (std::out_of_range) { - const std::string old = $self->at(i); - $self->at(i) = in; - return old; - } - bool add(const value_type& in) { - $self->push_back(in); - return true; - } - int32_t size() const { - return $self->size(); - } -} %template(StringVect) vector<string>; - - %template(VectMap) vector< map<string,string> >; %template(IntegerMap) map<string,int>; %template(IntVect) vector<int32_t>; @@ -89,17 +71,12 @@ namespace std { #include <functional> %} -/* parsed by SWIG to generate all the glue */ -/* %include "../managerimpl.h" */ -/* %include <client/callmanager.h> */ - %include "managerimpl.i" %include "callmanager.i" %include "configurationmanager.i" %include "presencemanager.i" %include "callmanager.i" %include "videomanager.i" -//#include "dring/callmanager_interface.h" %header %{ #include "callback.h" @@ -134,7 +111,6 @@ void init(const v8::Handle<v8::Value> &funcMap){ const std::map<std::string, SharedCallback> callEvHandlers = { exportable_callback<CallSignal::StateChange>(bind(&callStateChanged, _1, _2, _3)), exportable_callback<CallSignal::IncomingMessage>(bind(&incomingMessage, _1, _2, _3)), - exportable_callback<CallSignal::VoiceMailNotify>(bind(&voiceMailNotify, _1, _2, _3, _4)), exportable_callback<CallSignal::IncomingCall>(bind(&incomingCall, _1, _2, _3)), }; @@ -146,12 +122,10 @@ void init(const v8::Handle<v8::Value> &funcMap){ exportable_callback<ConfigurationSignal::ExportOnRingEnded>(bind(&exportOnRingEnded, _1, _2, _3 )), exportable_callback<ConfigurationSignal::NameRegistrationEnded>(bind(&nameRegistrationEnded, _1, _2, _3 )), exportable_callback<ConfigurationSignal::RegisteredNameFound>(bind(®isteredNameFound, _1, _2, _3, _4 )), - exportable_callback<ConfigurationSignal::UserSearchEnded>(bind(&ConfigurationCallback::userSearchEnded, confM, _1, _2, _3, _4 )), exportable_callback<ConfigurationSignal::VolatileDetailsChanged>(bind(&volatileDetailsChanged, _1, _2)), exportable_callback<ConfigurationSignal::KnownDevicesChanged>(bind(&knownDevicesChanged, _1, _2 )), exportable_callback<ConfigurationSignal::IncomingAccountMessage>(bind(&incomingAccountMessage, _1, _2, _3, _4 )), exportable_callback<ConfigurationSignal::AccountMessageStatusChanged>(bind(&accountMessageStatusChanged, _1, _2, _3, _4 )), - exportable_callback<ConfigurationSignal::ProfileReceived>(bind(&profileReceived, _1, _2, _3, _4 )), exportable_callback<ConfigurationSignal::IncomingTrustRequest>(bind(&incomingTrustRequest, _1, _2, _3, _4 )), }; diff --git a/bin/nodejs/videomanager.i b/bin/nodejs/videomanager.i index 8b8f21a52fca92b2c7c886be64f91e56d90f7a42..fa5e109f1c445e16fb3e325d07c9ee20feece237 100644 --- a/bin/nodejs/videomanager.i +++ b/bin/nodejs/videomanager.i @@ -36,13 +36,6 @@ public: virtual void stopCapture() {} virtual void decodingStarted(const std::string& id, const std::string& shm_path, int w, int h, bool is_mixer) {} virtual void decodingStopped(const std::string& id, const std::string& shm_path, bool is_mixer) {} - virtual std::string startLocalRecorder(const bool& audioOnly, const std::string& filepath) {} - virtual void stopLocalRecorder(const std::string& filepath) {} - virtual bool getDecodingAccelerated() {} - virtual void setDecodingAccelerated(bool state) {} - virtual bool getEncodingAccelerated() {} - virtual void setEncodingAccelerated(bool state) {} - virtual void setDeviceOrientation(const std::string& name, int angle) {} }; %}