mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-07 22:02:12 +08:00
nodejs: add userSearch signal
Change-Id: I7ceb5c0809918ca53cbcf2bc1c0d8efff586f960
This commit is contained in:
@ -54,6 +54,7 @@ Persistent<Function> conversationPreferencesUpdatedCb;
|
||||
Persistent<Function> messageSendCb;
|
||||
Persistent<Function> accountProfileReceivedCb;
|
||||
Persistent<Function> profileReceivedCb;
|
||||
Persistent<Function> userSearchEndedCb;
|
||||
|
||||
std::queue<std::function<void()>> pendingSignals;
|
||||
std::mutex pendingSignalsLock;
|
||||
@ -153,6 +154,8 @@ getPresistentCb(std::string_view signal)
|
||||
return &accountProfileReceivedCb;
|
||||
else if (signal == "ProfileReceived")
|
||||
return &profileReceivedCb;
|
||||
else if (signal == "UserSearchEnded")
|
||||
return &userSearchEndedCb;
|
||||
else
|
||||
return nullptr;
|
||||
}
|
||||
@ -556,6 +559,24 @@ knownDevicesChanged(const std::string& accountId, const std::map<std::string, st
|
||||
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
|
||||
incomingTrustRequest(const std::string& accountId,
|
||||
const std::string& from,
|
||||
|
@ -144,6 +144,7 @@ void init(const SWIGV8_VALUE& funcMap){
|
||||
exportable_callback<ConfigurationSignal::ProfileReceived>(bind(&profileReceived, _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::UserSearchEnded>(bind(&userSearchEnded, _1, _2, _3, _4 )),
|
||||
};
|
||||
|
||||
const std::map<std::string, SharedCallback> dataTransferEvHandlers = {
|
||||
|
Reference in New Issue
Block a user