diff options
-rw-r--r-- | extreload/Cargo.lock | 120 | ||||
-rw-r--r-- | extreload/Cargo.toml | 2 | ||||
-rw-r--r-- | extreload/src/main.rs | 23 |
3 files changed, 144 insertions, 1 deletions
diff --git a/extreload/Cargo.lock b/extreload/Cargo.lock index fb2639e..baccb45 100644 --- a/extreload/Cargo.lock +++ b/extreload/Cargo.lock @@ -1,5 +1,125 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. [[package]] +name = "byteorder" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b" + +[[package]] +name = "chrome_native_messaging" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1aae81d5bec9e77da011beafb9b15af3895ea6d42e87d2f2f9af4f11013dcdc" +dependencies = [ + "byteorder", + "serde", + "serde_json", + "thiserror", +] + +[[package]] name = "extreload" version = "0.0.1" +dependencies = [ + "chrome_native_messaging", + "serde", +] + +[[package]] +name = "itoa" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" + +[[package]] +name = "proc-macro2" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "ryu" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" + +[[package]] +name = "serde" +version = "1.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bdd36f49e35b61d49efd8aa7fc068fd295961fd2286d0b2ee9a4c7a14e99cc3" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "552954ce79a059ddd5fd68c271592374bd15cab2274970380c000118aeffe1cd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fceb2595057b6891a4ee808f70054bd2d12f0e97f1cbb78689b59f676df325a" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "syn" +version = "1.0.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc60a3d73ea6594cd712d830cc1f0390fd71542d8c8cd24e70cc54cdfd5e05d5" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "thiserror" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cc616c6abf8c8928e2fdcc0dbfab37175edd8fb49a4641066ad1364fdab146" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9be73a2caec27583d0046ef3796c3794f868a5bc813db689eed00c7631275cd1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-xid" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" diff --git a/extreload/Cargo.toml b/extreload/Cargo.toml index 7bc9ee3..c5a64b7 100644 --- a/extreload/Cargo.toml +++ b/extreload/Cargo.toml @@ -4,3 +4,5 @@ version = "0.0.1" edition = "2018" [dependencies] +chrome_native_messaging = "0.2.0" +serde = "1.0.119" diff --git a/extreload/src/main.rs b/extreload/src/main.rs index e7a11a9..2d98de8 100644 --- a/extreload/src/main.rs +++ b/extreload/src/main.rs @@ -1,3 +1,24 @@ +use chrome_native_messaging; +use serde::Serialize; + +use std::io; + +#[derive(Serialize)] +struct ExtensionIdMessage<'a> { + ids: &'a[&'a str] +} + fn main() { - println!("Hello, world!"); + let ids = vec!["extension_id"]; + + chrome_native_messaging::send_message( + io::stdout(), + &ExtensionIdMessage { ids: &ids } + ).expect("TODO: handle error"); + + chrome_native_messaging::event_loop(|value| -> Result<(), &str> { + match value { + _ => Ok(()), + } + }); } |