Skip to content
Snippets Groups Projects
Commit 2eedc6b2 authored by Léopold Chappuis's avatar Léopold Chappuis
Browse files

nodejs: add userSearch signal

Change-Id: I7ceb5c0809918ca53cbcf2bc1c0d8efff586f960
parent b85165ae
No related branches found
No related tags found
No related merge requests found
...@@ -54,6 +54,7 @@ Persistent<Function> conversationPreferencesUpdatedCb; ...@@ -54,6 +54,7 @@ Persistent<Function> conversationPreferencesUpdatedCb;
Persistent<Function> messageSendCb; Persistent<Function> messageSendCb;
Persistent<Function> accountProfileReceivedCb; Persistent<Function> accountProfileReceivedCb;
Persistent<Function> profileReceivedCb; Persistent<Function> profileReceivedCb;
Persistent<Function> userSearchEndedCb;
std::queue<std::function<void()>> pendingSignals; std::queue<std::function<void()>> pendingSignals;
std::mutex pendingSignalsLock; std::mutex pendingSignalsLock;
...@@ -153,6 +154,8 @@ getPresistentCb(std::string_view signal) ...@@ -153,6 +154,8 @@ getPresistentCb(std::string_view signal)
return &accountProfileReceivedCb; return &accountProfileReceivedCb;
else if (signal == "ProfileReceived") else if (signal == "ProfileReceived")
return &profileReceivedCb; return &profileReceivedCb;
else if (signal == "UserSearchEnded")
return &userSearchEndedCb;
else else
return nullptr; return nullptr;
} }
...@@ -556,6 +559,24 @@ knownDevicesChanged(const std::string& accountId, const std::map<std::string, st ...@@ -556,6 +559,24 @@ knownDevicesChanged(const std::string& accountId, const std::map<std::string, st
uv_async_send(&signalAsync); uv_async_send(&signalAsync);
} }
void
userSearchEnded(const std::string& accountId,int state, const std::string& query, const std::vector<std::map<std::string, std::string>>& results)
{
std::lock_guard lock(pendingSignalsLock);
pendingSignals.emplace([accountId,state,query, results]() {
Local<Function> func = Local<Function>::New(Isolate::GetCurrent(), userSearchEndedCb);
if (!func.IsEmpty()) {
SWIGV8_VALUE callback_args[] = {V8_STRING_NEW_LOCAL(accountId),
SWIGV8_INTEGER_NEW(state),
V8_STRING_NEW_LOCAL(query),
stringMapVecToJsMapArray(results)};
func->Call(SWIGV8_CURRENT_CONTEXT(), SWIGV8_NULL(), 4, callback_args);
}
});
uv_async_send(&signalAsync);
}
void void
incomingTrustRequest(const std::string& accountId, incomingTrustRequest(const std::string& accountId,
const std::string& from, const std::string& from,
......
...@@ -144,6 +144,7 @@ void init(const SWIGV8_VALUE& funcMap){ ...@@ -144,6 +144,7 @@ void init(const SWIGV8_VALUE& funcMap){
exportable_callback<ConfigurationSignal::ProfileReceived>(bind(&profileReceived, _1, _2, _3)), exportable_callback<ConfigurationSignal::ProfileReceived>(bind(&profileReceived, _1, _2, _3)),
exportable_callback<ConfigurationSignal::AccountProfileReceived>(bind(&accountProfileReceived, _1, _2, _3)), exportable_callback<ConfigurationSignal::AccountProfileReceived>(bind(&accountProfileReceived, _1, _2, _3)),
//exportable_callback<ConfigurationSignal::IncomingTrustRequest>(bind(&incomingTrustRequest, _1, _2, _3, _4, _5 )), //exportable_callback<ConfigurationSignal::IncomingTrustRequest>(bind(&incomingTrustRequest, _1, _2, _3, _4, _5 )),
exportable_callback<ConfigurationSignal::UserSearchEnded>(bind(&userSearchEnded, _1, _2, _3, _4 )),
}; };
const std::map<std::string, SharedCallback> dataTransferEvHandlers = { const std::map<std::string, SharedCallback> dataTransferEvHandlers = {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment