[fractal] API, directory: Call functions directly instead of using the loop
- From: Daniel Garcia Moreno <danigm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [fractal] API, directory: Call functions directly instead of using the loop
- Date: Fri, 24 Apr 2020 06:48:19 +0000 (UTC)
commit 66e03f578d6b7f55f06af980bb1c5f256d086f37
Author: Alejandro DomÃnguez <adomu net-c com>
Date: Fri Apr 17 08:48:25 2020 +0200
API, directory: Call functions directly instead of using the loop
fractal-gtk/src/appop/directory.rs | 20 +++++++++++++-------
fractal-matrix-api/src/backend/mod.rs | 9 +--------
fractal-matrix-api/src/backend/types.rs | 1 -
3 files changed, 14 insertions(+), 16 deletions(-)
---
diff --git a/fractal-gtk/src/appop/directory.rs b/fractal-gtk/src/appop/directory.rs
index 842df7a9..05661378 100644
--- a/fractal-gtk/src/appop/directory.rs
+++ b/fractal-gtk/src/appop/directory.rs
@@ -1,10 +1,14 @@
use gtk;
use gtk::prelude::*;
use libhandy::Column;
+use std::thread;
+
+use fractal_api::backend::directory;
+use fractal_api::util::ResultExpectLog;
use crate::appop::AppOp;
-use crate::backend::BKCommand;
+use crate::backend::{BKCommand, BKResponse};
use crate::widgets;
use crate::types::Room;
@@ -13,12 +17,14 @@ use fractal_api::r0::thirdparty::get_supported_protocols::ProtocolInstance;
impl AppOp {
pub fn init_protocols(&self) {
let login_data = unwrap_or_unit_return!(self.login_data.clone());
- self.backend
- .send(BKCommand::DirectoryProtocols(
- login_data.server_url,
- login_data.access_token,
- ))
- .unwrap();
+ let tx = self.backend.clone();
+ thread::spawn(move || {
+ let query = directory::protocols(login_data.server_url, login_data.access_token);
+ tx.send(BKCommand::SendBKResponse(BKResponse::DirectoryProtocols(
+ query,
+ )))
+ .expect_log("Connection closed");
+ });
}
pub fn set_protocols(&self, protocols: Vec<ProtocolInstance>) {
diff --git a/fractal-matrix-api/src/backend/mod.rs b/fractal-matrix-api/src/backend/mod.rs
index ef015bbf..16fa0e99 100644
--- a/fractal-matrix-api/src/backend/mod.rs
+++ b/fractal-matrix-api/src/backend/mod.rs
@@ -13,7 +13,7 @@ use crate::globals;
use self::types::ThreadPool;
-mod directory;
+pub mod directory;
mod media;
pub mod register;
mod room;
@@ -269,13 +269,6 @@ impl Backend {
),
// Directory module
- Ok(BKCommand::DirectoryProtocols(server, access_token)) => {
- thread::spawn(move || {
- let query = directory::protocols(server, access_token);
- tx.send(BKResponse::DirectoryProtocols(query))
- .expect_log("Connection closed");
- });
- }
Ok(BKCommand::DirectorySearch(server, access_token, dhs, dq, dtp, more)) => {
let hs = match dhs {
ref a if a.is_empty() => None,
diff --git a/fractal-matrix-api/src/backend/types.rs b/fractal-matrix-api/src/backend/types.rs
index 0a03ef1d..90cc2f6e 100644
--- a/fractal-matrix-api/src/backend/types.rs
+++ b/fractal-matrix-api/src/backend/types.rs
@@ -46,7 +46,6 @@ pub enum BKCommand {
SendTyping(Url, AccessToken, UserId, RoomId),
SetRoom(Url, AccessToken, RoomId),
ShutDown,
- DirectoryProtocols(Url, AccessToken),
DirectorySearch(Url, AccessToken, String, String, String, bool),
JoinRoom(Url, AccessToken, RoomId),
MarkAsRead(Url, AccessToken, RoomId, String),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]