aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--extreload/Cargo.lock120
-rw-r--r--extreload/Cargo.toml2
-rw-r--r--extreload/src/main.rs23
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(()),
+ }
+ });
}