diff --git a/Cargo.lock b/Cargo.lock index 3ed78d15c..3d614f745 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -400,9 +400,9 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -431,13 +431,13 @@ checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -549,8 +549,8 @@ dependencies = [ "lazycell", "log", "peeking_take_while", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "regex", "rustc-hash", "shlex", @@ -570,8 +570,8 @@ dependencies = [ "lazycell", "log", "peeking_take_while", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "regex", "rustc-hash", "shlex", @@ -593,12 +593,12 @@ dependencies = [ "log", "peeking_take_while", "prettyplease", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "regex", "rustc-hash", "shlex", - "syn 2.0.38", + "syn 2.0.55", "which", ] @@ -614,12 +614,12 @@ dependencies = [ "lazy_static", "lazycell", "peeking_take_while", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "regex", "rustc-hash", "shlex", - "syn 2.0.38", + "syn 2.0.55", ] [[package]] @@ -649,8 +649,8 @@ version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49fb8528abca6895a5ada33d62aedd538a5c33e77068256483b44a3230270163" dependencies = [ - "quote 1.0.33", - "syn 2.0.38", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -1145,8 +1145,8 @@ version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "unicode-xid 0.2.4", ] @@ -1603,8 +1603,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "syn 1.0.109", ] @@ -1614,8 +1614,8 @@ version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "syn 1.0.109", ] @@ -1626,8 +1626,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "rustc_version", "syn 1.0.109", ] @@ -1761,8 +1761,8 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a09ac8bb8c16a282264c379dffba707b9c998afc7506009137f3c6136888078" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "syn 1.0.109", ] @@ -1884,9 +1884,9 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04d0b288e3bb1d861c4403c1774a6f7a798781dfc519b3647df2a3dd4ae95f25" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -1905,9 +1905,9 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -2172,9 +2172,9 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -2307,9 +2307,9 @@ version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -2582,8 +2582,8 @@ dependencies = [ "itertools", "proc-macro-crate 0.1.5", "proc-macro-error", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "syn 1.0.109", ] @@ -2596,9 +2596,9 @@ dependencies = [ "heck 0.4.1", "proc-macro-crate 2.0.0", "proc-macro-error", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -2859,9 +2859,9 @@ checksum = "c6063efb63db582968fb7df72e1ae68aa6360dcfb0a75143f34fc7d616bad75e" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro-error", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -3202,8 +3202,8 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", ] [[package]] @@ -4039,8 +4039,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "syn 1.0.109", ] @@ -4120,8 +4120,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "syn 1.0.109", ] @@ -4269,9 +4269,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -4389,8 +4389,8 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c94f3b9b97df3c6d4e51a14916639b24e02c7d15d1dba686ce9b1118277cb811" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "syn 1.0.109", ] @@ -4576,9 +4576,9 @@ version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -4677,8 +4677,8 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ - "proc-macro2 1.0.69", - "syn 2.0.38", + "proc-macro2 1.0.79", + "syn 2.0.55", ] [[package]] @@ -4725,8 +4725,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "syn 1.0.109", "version_check", ] @@ -4737,8 +4737,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "version_check", ] @@ -4753,9 +4753,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.69" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] @@ -4921,11 +4921,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ - "proc-macro2 1.0.69", + "proc-macro2 1.0.79", ] [[package]] @@ -5408,6 +5408,7 @@ dependencies = [ "android_logger", "arboard", "async-process", + "async-trait", "base64", "bytes", "cc", @@ -5765,9 +5766,9 @@ version = "1.0.190" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -5799,9 +5800,9 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -6028,8 +6029,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c" dependencies = [ "heck 0.3.3", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "syn 1.0.109", ] @@ -6040,8 +6041,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "rustversion", "syn 1.0.109", ] @@ -6069,19 +6070,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.38" +version = "2.0.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "unicode-ident", ] @@ -6218,8 +6219,8 @@ name = "tao-macros" version = "0.1.2" source = "git+https://github.com/rustdesk-org/tao?branch=dev#1cad16b200485bbccc67dcee2d339eac6e1c16ad" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "syn 1.0.109", ] @@ -6323,9 +6324,9 @@ version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -6430,9 +6431,9 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -6630,9 +6631,9 @@ version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -6985,9 +6986,9 @@ dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", "wasm-bindgen-shared", ] @@ -7009,7 +7010,7 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ - "quote 1.0.33", + "quote 1.0.35", "wasm-bindgen-macro-support", ] @@ -7019,9 +7020,9 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7089,9 +7090,9 @@ version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c" dependencies = [ - "proc-macro2 1.0.69", + "proc-macro2 1.0.79", "quick-xml", - "quote 1.0.33", + "quote 1.0.35", ] [[package]] @@ -7342,9 +7343,9 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12168c33176773b86799be25e2a2ba07c7aab9968b37541f1094dbd7a60c8946" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -7353,9 +7354,9 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d8dc32e0095a7eeccebd0e3f09e9509365ecb3fc6ac4d6f5f14a3f6392942d1" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -7859,8 +7860,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "regex", "syn 1.0.109", "zvariant_utils", @@ -7902,9 +7903,9 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -7913,9 +7914,9 @@ version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.79", + "quote 1.0.35", + "syn 2.0.55", ] [[package]] @@ -8015,8 +8016,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "syn 1.0.109", "zvariant_utils", ] @@ -8027,7 +8028,7 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.79", + "quote 1.0.35", "syn 1.0.109", ] diff --git a/Cargo.toml b/Cargo.toml index 5bbae9fd4..9e3af62b1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,6 +45,7 @@ unix-file-copy-paste = [ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +async-trait = "0.1" whoami = "1.5.0" scrap = { path = "libs/scrap", features = ["wayland"] } hbb_common = { path = "libs/hbb_common" } diff --git a/src/cli.rs b/src/cli.rs index 8b062f3a7..f61bfe92f 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -1,4 +1,5 @@ use crate::client::*; +use async_trait::async_trait; use hbb_common::{ config::PeerConfig, config::READ_TIMEOUT, @@ -44,6 +45,7 @@ impl Session { } } +#[async_trait] impl Interface for Session { fn get_login_config_handler(&self) -> Arc> { return self.lc.clone(); diff --git a/src/client.rs b/src/client.rs index 176570550..b32331072 100644 --- a/src/client.rs +++ b/src/client.rs @@ -7,6 +7,7 @@ use std::{ sync::{mpsc, Arc, Mutex, RwLock}, }; +use async_trait::async_trait; use bytes::Bytes; #[cfg(not(any(target_os = "android", target_os = "linux")))] use cpal::{ @@ -2761,6 +2762,7 @@ async fn send_switch_login_request( } /// Interface for client to send data and commands. +#[async_trait] pub trait Interface: Send + Clone + 'static + Sized { /// Send message data to remote peer. fn send(&self, data: Data); diff --git a/src/platform/macos.rs b/src/platform/macos.rs index 422844323..1ae35e56b 100644 --- a/src/platform/macos.rs +++ b/src/platform/macos.rs @@ -17,7 +17,7 @@ use core_graphics::{ display::{kCGNullWindowID, kCGWindowListOptionOnScreenOnly, CGWindowListCopyWindowInfo}, window::{kCGWindowName, kCGWindowOwnerPID}, }; -use hbb_common::{allow_err, anyhow::anyhow, bail, libc, log, message_proto::Resolution}; +use hbb_common::{anyhow::anyhow, bail, log, message_proto::Resolution}; use include_dir::{include_dir, Dir}; use objc::{class, msg_send, sel, sel_impl}; use scrap::{libc::c_void, quartz::ffi::*}; diff --git a/src/ui_session_interface.rs b/src/ui_session_interface.rs index 3edccd5d7..02bd99eff 100644 --- a/src/ui_session_interface.rs +++ b/src/ui_session_interface.rs @@ -2,6 +2,7 @@ use crate::{ common::{get_supported_keyboard_modes, is_keyboard_mode_supported}, input::{MOUSE_BUTTON_LEFT, MOUSE_TYPE_DOWN, MOUSE_TYPE_UP, MOUSE_TYPE_WHEEL}, }; +use async_trait::async_trait; use bytes::Bytes; use rdev::{Event, EventType::*, KeyCode}; use std::{ @@ -1370,6 +1371,7 @@ impl DerefMut for Session { impl FileManager for Session {} +#[async_trait] impl Interface for Session { fn get_lch(&self) -> Arc> { return self.lc.clone();