mirror of
https://github.com/librespot-org/librespot.git
synced 2024-11-08 16:45:43 +00:00
commit
d12640fb47
16 changed files with 3387 additions and 7894 deletions
64
Cargo.lock
generated
64
Cargo.lock
generated
|
@ -427,7 +427,7 @@ dependencies = [
|
||||||
"log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"mdns 0.2.0 (git+https://github.com/plietar/rust-mdns)",
|
"mdns 0.2.0 (git+https://github.com/plietar/rust-mdns)",
|
||||||
"num-bigint 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"num-bigint 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"protobuf 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -456,7 +456,7 @@ dependencies = [
|
||||||
"num-bigint 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"num-bigint 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
"num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"protobuf 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rpassword 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rpassword 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -480,7 +480,7 @@ dependencies = [
|
||||||
"librespot-core 0.1.0",
|
"librespot-core 0.1.0",
|
||||||
"librespot-protocol 0.1.0",
|
"librespot-protocol 0.1.0",
|
||||||
"linear-map 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"linear-map 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"protobuf 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -504,7 +504,8 @@ dependencies = [
|
||||||
name = "librespot-protocol"
|
name = "librespot-protocol"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"protobuf 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"protoc-rust 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -763,6 +764,38 @@ name = "protobuf"
|
||||||
version = "1.5.1"
|
version = "1.5.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "protobuf"
|
||||||
|
version = "2.0.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "protobuf-codegen"
|
||||||
|
version = "2.0.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "protoc"
|
||||||
|
version = "2.0.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "protoc-rust"
|
||||||
|
version = "2.0.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"protobuf-codegen 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"protoc 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "quick-error"
|
name = "quick-error"
|
||||||
version = "1.2.1"
|
version = "1.2.1"
|
||||||
|
@ -834,6 +867,14 @@ dependencies = [
|
||||||
"futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "remove_dir_all"
|
||||||
|
version = "0.5.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rpassword"
|
name = "rpassword"
|
||||||
version = "0.3.1"
|
version = "0.3.1"
|
||||||
|
@ -1045,6 +1086,15 @@ name = "take"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tempdir"
|
||||||
|
version = "0.3.7"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tempfile"
|
name = "tempfile"
|
||||||
version = "2.2.0"
|
version = "2.2.0"
|
||||||
|
@ -1536,6 +1586,10 @@ dependencies = [
|
||||||
"checksum portaudio-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5194a4fa953b4ffd851c320ef6f0484cd7278cb7169ea9d6c433e49b23f7b7f5"
|
"checksum portaudio-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5194a4fa953b4ffd851c320ef6f0484cd7278cb7169ea9d6c433e49b23f7b7f5"
|
||||||
"checksum proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1b06e2f335f48d24442b35a19df506a835fb3547bc3c06ef27340da9acf5cae7"
|
"checksum proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1b06e2f335f48d24442b35a19df506a835fb3547bc3c06ef27340da9acf5cae7"
|
||||||
"checksum protobuf 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40e2484e639dcae0985fc483ad76ce7ad78ee5aa092751d7d538f0b20d76486b"
|
"checksum protobuf 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40e2484e639dcae0985fc483ad76ce7ad78ee5aa092751d7d538f0b20d76486b"
|
||||||
|
"checksum protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c72f6663900752624f6b9b78d16abfc014caaa17d0002ff991274533cdc06c62"
|
||||||
|
"checksum protobuf-codegen 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3b3aabdbe464662cbdf305a7db531fa059aa4368e2dc3a80be3796fcc2f931a6"
|
||||||
|
"checksum protoc 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2c5b7410824a538229987eced0fd09e20562a10f16fe345a866765e9a598c3fd"
|
||||||
|
"checksum protoc-rust 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "81899fad644d227d07370922d3f80afaf574252137e0cf696961661303c279c0"
|
||||||
"checksum quick-error 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eda5fe9b71976e62bc81b781206aaa076401769b2143379d3eb2118388babac4"
|
"checksum quick-error 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eda5fe9b71976e62bc81b781206aaa076401769b2143379d3eb2118388babac4"
|
||||||
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
|
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
|
||||||
"checksum quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9949cfe66888ffe1d53e6ec9d9f3b70714083854be20fd5e271b232a017401e8"
|
"checksum quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9949cfe66888ffe1d53e6ec9d9f3b70714083854be20fd5e271b232a017401e8"
|
||||||
|
@ -1545,6 +1599,7 @@ dependencies = [
|
||||||
"checksum regex 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "aec3f58d903a7d2a9dc2bf0e41a746f4530e0cab6b615494e058f67a3ef947fb"
|
"checksum regex 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "aec3f58d903a7d2a9dc2bf0e41a746f4530e0cab6b615494e058f67a3ef947fb"
|
||||||
"checksum regex-syntax 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bd90079345f4a4c3409214734ae220fd773c6f2e8a543d07370c6c1c369cfbfb"
|
"checksum regex-syntax 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bd90079345f4a4c3409214734ae220fd773c6f2e8a543d07370c6c1c369cfbfb"
|
||||||
"checksum relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1576e382688d7e9deecea24417e350d3062d97e32e45d70b1cde65994ff1489a"
|
"checksum relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1576e382688d7e9deecea24417e350d3062d97e32e45d70b1cde65994ff1489a"
|
||||||
|
"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
|
||||||
"checksum rpassword 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ec4bdede957362ec6fdd550f7e79c6d14cad2bc26b2d062786234c6ee0cb27bb"
|
"checksum rpassword 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ec4bdede957362ec6fdd550f7e79c6d14cad2bc26b2d062786234c6ee0cb27bb"
|
||||||
"checksum rust-crypto 0.2.36 (git+https://github.com/awmath/rust-crypto.git?branch=avx2)" = "<none>"
|
"checksum rust-crypto 0.2.36 (git+https://github.com/awmath/rust-crypto.git?branch=avx2)" = "<none>"
|
||||||
"checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a"
|
"checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a"
|
||||||
|
@ -1572,6 +1627,7 @@ dependencies = [
|
||||||
"checksum syn 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90d5efaad92a0f96c629ae16302cc9591915930fd49ff0dcc6b4cde146782397"
|
"checksum syn 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90d5efaad92a0f96c629ae16302cc9591915930fd49ff0dcc6b4cde146782397"
|
||||||
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
|
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
|
||||||
"checksum take 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b157868d8ac1f56b64604539990685fa7611d8fa9e5476cf0c02cf34d32917c5"
|
"checksum take 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b157868d8ac1f56b64604539990685fa7611d8fa9e5476cf0c02cf34d32917c5"
|
||||||
|
"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
|
||||||
"checksum tempfile 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "11ce2fe9db64b842314052e2421ac61a73ce41b898dc8e3750398b219c5fc1e0"
|
"checksum tempfile 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "11ce2fe9db64b842314052e2421ac61a73ce41b898dc8e3750398b219c5fc1e0"
|
||||||
"checksum termios 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d5d9cf598a6d7ce700a4e6a9199da127e6819a61e64b68609683cc9a01b5683a"
|
"checksum termios 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d5d9cf598a6d7ce700a4e6a9199da127e6819a61e64b68609683cc9a01b5683a"
|
||||||
"checksum thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963"
|
"checksum thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963"
|
||||||
|
|
|
@ -16,7 +16,7 @@ futures = "0.1.8"
|
||||||
hyper = "0.11.2"
|
hyper = "0.11.2"
|
||||||
log = "0.3.5"
|
log = "0.3.5"
|
||||||
num-bigint = "0.1.35"
|
num-bigint = "0.1.35"
|
||||||
protobuf = "1.1"
|
protobuf = "2.0.5"
|
||||||
rand = "0.3.13"
|
rand = "0.3.13"
|
||||||
rust-crypto = "0.2.36"
|
rust-crypto = "0.2.36"
|
||||||
serde = "0.9.6"
|
serde = "0.9.6"
|
||||||
|
|
|
@ -22,7 +22,7 @@ log = "0.3.5"
|
||||||
num-bigint = "0.1.35"
|
num-bigint = "0.1.35"
|
||||||
num-integer = "0.1.32"
|
num-integer = "0.1.32"
|
||||||
num-traits = "0.1.36"
|
num-traits = "0.1.36"
|
||||||
protobuf = "1.1"
|
protobuf = "2.0.5"
|
||||||
rand = "0.3.13"
|
rand = "0.3.13"
|
||||||
rpassword = "0.3.0"
|
rpassword = "0.3.0"
|
||||||
rust-crypto = "0.2.36"
|
rust-crypto = "0.2.36"
|
||||||
|
|
|
@ -3,7 +3,7 @@ use crypto::hmac::Hmac;
|
||||||
use crypto::mac::Mac;
|
use crypto::mac::Mac;
|
||||||
use crypto::sha1::Sha1;
|
use crypto::sha1::Sha1;
|
||||||
use futures::{Async, Future, Poll};
|
use futures::{Async, Future, Poll};
|
||||||
use protobuf::{self, Message, MessageStatic};
|
use protobuf::{self, Message};
|
||||||
use rand::thread_rng;
|
use rand::thread_rng;
|
||||||
use std::io::{self, Read};
|
use std::io::{self, Read};
|
||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
|
@ -126,7 +126,7 @@ fn client_response<T: AsyncWrite>(connection: T, challenge: Vec<u8>) -> WriteAll
|
||||||
write_all(connection, buffer)
|
write_all(connection, buffer)
|
||||||
}
|
}
|
||||||
|
|
||||||
enum RecvPacket<T, M: MessageStatic> {
|
enum RecvPacket<T, M: Message> {
|
||||||
Header(ReadExact<T, Window<Vec<u8>>>, PhantomData<M>),
|
Header(ReadExact<T, Window<Vec<u8>>>, PhantomData<M>),
|
||||||
Body(ReadExact<T, Window<Vec<u8>>>, PhantomData<M>),
|
Body(ReadExact<T, Window<Vec<u8>>>, PhantomData<M>),
|
||||||
}
|
}
|
||||||
|
@ -134,7 +134,7 @@ enum RecvPacket<T, M: MessageStatic> {
|
||||||
fn recv_packet<T: AsyncRead, M>(connection: T, acc: Vec<u8>) -> RecvPacket<T, M>
|
fn recv_packet<T: AsyncRead, M>(connection: T, acc: Vec<u8>) -> RecvPacket<T, M>
|
||||||
where
|
where
|
||||||
T: Read,
|
T: Read,
|
||||||
M: MessageStatic,
|
M: Message,
|
||||||
{
|
{
|
||||||
RecvPacket::Header(read_into_accumulator(connection, 4, acc), PhantomData)
|
RecvPacket::Header(read_into_accumulator(connection, 4, acc), PhantomData)
|
||||||
}
|
}
|
||||||
|
@ -142,7 +142,7 @@ where
|
||||||
impl<T: AsyncRead, M> Future for RecvPacket<T, M>
|
impl<T: AsyncRead, M> Future for RecvPacket<T, M>
|
||||||
where
|
where
|
||||||
T: Read,
|
T: Read,
|
||||||
M: MessageStatic,
|
M: Message,
|
||||||
{
|
{
|
||||||
type Item = (T, M, Vec<u8>);
|
type Item = (T, M, Vec<u8>);
|
||||||
type Error = io::Error;
|
type Error = io::Error;
|
||||||
|
|
|
@ -7,7 +7,7 @@ authors = ["Paul Lietar <paul@lietar.net>"]
|
||||||
byteorder = "1.0"
|
byteorder = "1.0"
|
||||||
futures = "0.1.8"
|
futures = "0.1.8"
|
||||||
linear-map = "1.0"
|
linear-map = "1.0"
|
||||||
protobuf = "1.1"
|
protobuf = "2.0.5"
|
||||||
|
|
||||||
[dependencies.librespot-core]
|
[dependencies.librespot-core]
|
||||||
path = "../core"
|
path = "../core"
|
||||||
|
|
|
@ -53,7 +53,7 @@ where
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait Metadata: Send + Sized + 'static {
|
pub trait Metadata: Send + Sized + 'static {
|
||||||
type Message: protobuf::MessageStatic;
|
type Message: protobuf::Message;
|
||||||
|
|
||||||
fn base_url() -> &'static str;
|
fn base_url() -> &'static str;
|
||||||
fn parse(msg: &Self::Message, session: &Session) -> Self;
|
fn parse(msg: &Self::Message, session: &Session) -> Self;
|
||||||
|
|
|
@ -5,4 +5,7 @@ authors = ["Paul Liétar <paul@lietar.net>"]
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
protobuf = "1.0.10"
|
protobuf = "2.0.5"
|
||||||
|
|
||||||
|
[build-dependencies]
|
||||||
|
protoc-rust = "2.0.5"
|
||||||
|
|
|
@ -1,15 +1,36 @@
|
||||||
|
extern crate protoc_rust;
|
||||||
|
use protoc_rust::Customize;
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
use std::io::prelude::*;
|
use std::io::prelude::*;
|
||||||
|
|
||||||
mod files;
|
mod files;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
let mut changed = false;
|
||||||
|
let mut file = File::open("files.rs").unwrap();
|
||||||
|
let mut f_str = String::new();
|
||||||
|
file.read_to_string(&mut f_str).unwrap();
|
||||||
|
drop(file);
|
||||||
for &(path, expected_checksum) in files::FILES {
|
for &(path, expected_checksum) in files::FILES {
|
||||||
let actual = cksum_file(path).unwrap();
|
let actual = cksum_file(path).unwrap();
|
||||||
if expected_checksum != actual {
|
if expected_checksum != actual {
|
||||||
panic!("Checksum for {:?} does not match. Try running build.sh", path);
|
protoc_rust::run(protoc_rust::Args {
|
||||||
|
out_dir: "src",
|
||||||
|
input: &[path],
|
||||||
|
includes: &["proto"],
|
||||||
|
customize: Customize { ..Default::default() },
|
||||||
|
}).expect("protoc");
|
||||||
|
let new_checksum = cksum_file(path).unwrap();
|
||||||
|
f_str = f_str.replace(&expected_checksum.to_string(), &new_checksum.to_string());
|
||||||
|
changed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if changed {
|
||||||
|
// Write new checksums to file
|
||||||
|
let mut file = File::create("files.rs").unwrap();
|
||||||
|
println!("f_str: {:?}",f_str);
|
||||||
|
file.write_all(f_str.as_bytes()).unwrap();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn cksum_file<T: AsRef<std::path::Path>>(path: T) -> std::io::Result<u32> {
|
fn cksum_file<T: AsRef<std::path::Path>>(path: T) -> std::io::Result<u32> {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Autogenerated by build.sh
|
// Autogenerated by build.rs
|
||||||
|
|
||||||
pub const FILES: &'static [(&'static str, u32)] = &[
|
pub const FILES: &'static [(&'static str, u32)] = &[
|
||||||
("proto/authentication.proto", 2098196376),
|
("proto/authentication.proto", 2098196376),
|
||||||
|
@ -6,5 +6,5 @@ pub const FILES: &'static [(&'static str, u32)] = &[
|
||||||
("proto/mercury.proto", 709993906),
|
("proto/mercury.proto", 709993906),
|
||||||
("proto/metadata.proto", 2474472423),
|
("proto/metadata.proto", 2474472423),
|
||||||
("proto/pubsub.proto", 2686584829),
|
("proto/pubsub.proto", 2686584829),
|
||||||
("proto/spirc.proto", 2406852191),
|
("proto/spirc.proto", 1587493382),
|
||||||
];
|
];
|
||||||
|
|
|
@ -76,7 +76,7 @@ enum CapabilityType {
|
||||||
kSupportsRename = 0xb;
|
kSupportsRename = 0xb;
|
||||||
kHidden = 0xc;
|
kHidden = 0xc;
|
||||||
kSupportsPlaylistV2 = 0xd;
|
kSupportsPlaylistV2 = 0xd;
|
||||||
kUnknown = 0xe;
|
kSupportsExternalEpisodes = 0xe;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Goodbye {
|
message Goodbye {
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,4 @@
|
||||||
// This file is generated. Do not edit
|
// This file is generated by rust-protobuf 2.0.5. Do not edit
|
||||||
// @generated
|
// @generated
|
||||||
|
|
||||||
// https://github.com/Manishearth/rust-clippy/issues/702
|
// https://github.com/Manishearth/rust-clippy/issues/702
|
||||||
|
@ -32,24 +32,11 @@ pub struct Subscription {
|
||||||
cached_size: ::protobuf::CachedSize,
|
cached_size: ::protobuf::CachedSize,
|
||||||
}
|
}
|
||||||
|
|
||||||
// see codegen.rs for the explanation why impl Sync explicitly
|
|
||||||
unsafe impl ::std::marker::Sync for Subscription {}
|
|
||||||
|
|
||||||
impl Subscription {
|
impl Subscription {
|
||||||
pub fn new() -> Subscription {
|
pub fn new() -> Subscription {
|
||||||
::std::default::Default::default()
|
::std::default::Default::default()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn default_instance() -> &'static Subscription {
|
|
||||||
static mut instance: ::protobuf::lazy::Lazy<Subscription> = ::protobuf::lazy::Lazy {
|
|
||||||
lock: ::protobuf::lazy::ONCE_INIT,
|
|
||||||
ptr: 0 as *const Subscription,
|
|
||||||
};
|
|
||||||
unsafe {
|
|
||||||
instance.get(Subscription::new)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// optional string uri = 1;
|
// optional string uri = 1;
|
||||||
|
|
||||||
pub fn clear_uri(&mut self) {
|
pub fn clear_uri(&mut self) {
|
||||||
|
@ -70,7 +57,7 @@ impl Subscription {
|
||||||
pub fn mut_uri(&mut self) -> &mut ::std::string::String {
|
pub fn mut_uri(&mut self) -> &mut ::std::string::String {
|
||||||
if self.uri.is_none() {
|
if self.uri.is_none() {
|
||||||
self.uri.set_default();
|
self.uri.set_default();
|
||||||
};
|
}
|
||||||
self.uri.as_mut().unwrap()
|
self.uri.as_mut().unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,14 +73,6 @@ impl Subscription {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_uri_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
|
|
||||||
&self.uri
|
|
||||||
}
|
|
||||||
|
|
||||||
fn mut_uri_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
|
|
||||||
&mut self.uri
|
|
||||||
}
|
|
||||||
|
|
||||||
// optional int32 expiry = 2;
|
// optional int32 expiry = 2;
|
||||||
|
|
||||||
pub fn clear_expiry(&mut self) {
|
pub fn clear_expiry(&mut self) {
|
||||||
|
@ -113,14 +92,6 @@ impl Subscription {
|
||||||
self.expiry.unwrap_or(0)
|
self.expiry.unwrap_or(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_expiry_for_reflect(&self) -> &::std::option::Option<i32> {
|
|
||||||
&self.expiry
|
|
||||||
}
|
|
||||||
|
|
||||||
fn mut_expiry_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
|
|
||||||
&mut self.expiry
|
|
||||||
}
|
|
||||||
|
|
||||||
// optional int32 status_code = 3;
|
// optional int32 status_code = 3;
|
||||||
|
|
||||||
pub fn clear_status_code(&mut self) {
|
pub fn clear_status_code(&mut self) {
|
||||||
|
@ -139,14 +110,6 @@ impl Subscription {
|
||||||
pub fn get_status_code(&self) -> i32 {
|
pub fn get_status_code(&self) -> i32 {
|
||||||
self.status_code.unwrap_or(0)
|
self.status_code.unwrap_or(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_status_code_for_reflect(&self) -> &::std::option::Option<i32> {
|
|
||||||
&self.status_code
|
|
||||||
}
|
|
||||||
|
|
||||||
fn mut_status_code_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
|
|
||||||
&mut self.status_code
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ::protobuf::Message for Subscription {
|
impl ::protobuf::Message for Subscription {
|
||||||
|
@ -164,14 +127,14 @@ impl ::protobuf::Message for Subscription {
|
||||||
2 => {
|
2 => {
|
||||||
if wire_type != ::protobuf::wire_format::WireTypeVarint {
|
if wire_type != ::protobuf::wire_format::WireTypeVarint {
|
||||||
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
|
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
|
||||||
};
|
}
|
||||||
let tmp = is.read_int32()?;
|
let tmp = is.read_int32()?;
|
||||||
self.expiry = ::std::option::Option::Some(tmp);
|
self.expiry = ::std::option::Option::Some(tmp);
|
||||||
},
|
},
|
||||||
3 => {
|
3 => {
|
||||||
if wire_type != ::protobuf::wire_format::WireTypeVarint {
|
if wire_type != ::protobuf::wire_format::WireTypeVarint {
|
||||||
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
|
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
|
||||||
};
|
}
|
||||||
let tmp = is.read_int32()?;
|
let tmp = is.read_int32()?;
|
||||||
self.status_code = ::std::option::Option::Some(tmp);
|
self.status_code = ::std::option::Option::Some(tmp);
|
||||||
},
|
},
|
||||||
|
@ -187,30 +150,30 @@ impl ::protobuf::Message for Subscription {
|
||||||
#[allow(unused_variables)]
|
#[allow(unused_variables)]
|
||||||
fn compute_size(&self) -> u32 {
|
fn compute_size(&self) -> u32 {
|
||||||
let mut my_size = 0;
|
let mut my_size = 0;
|
||||||
if let Some(v) = self.uri.as_ref() {
|
if let Some(ref v) = self.uri.as_ref() {
|
||||||
my_size += ::protobuf::rt::string_size(1, &v);
|
my_size += ::protobuf::rt::string_size(1, &v);
|
||||||
};
|
}
|
||||||
if let Some(v) = self.expiry {
|
if let Some(v) = self.expiry {
|
||||||
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
|
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
|
||||||
};
|
}
|
||||||
if let Some(v) = self.status_code {
|
if let Some(v) = self.status_code {
|
||||||
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
|
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
|
||||||
};
|
}
|
||||||
my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
|
my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
|
||||||
self.cached_size.set(my_size);
|
self.cached_size.set(my_size);
|
||||||
my_size
|
my_size
|
||||||
}
|
}
|
||||||
|
|
||||||
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
|
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
|
||||||
if let Some(v) = self.uri.as_ref() {
|
if let Some(ref v) = self.uri.as_ref() {
|
||||||
os.write_string(1, &v)?;
|
os.write_string(1, &v)?;
|
||||||
};
|
}
|
||||||
if let Some(v) = self.expiry {
|
if let Some(v) = self.expiry {
|
||||||
os.write_int32(2, v)?;
|
os.write_int32(2, v)?;
|
||||||
};
|
}
|
||||||
if let Some(v) = self.status_code {
|
if let Some(v) = self.status_code {
|
||||||
os.write_int32(3, v)?;
|
os.write_int32(3, v)?;
|
||||||
};
|
}
|
||||||
os.write_unknown_fields(self.get_unknown_fields())?;
|
os.write_unknown_fields(self.get_unknown_fields())?;
|
||||||
::std::result::Result::Ok(())
|
::std::result::Result::Ok(())
|
||||||
}
|
}
|
||||||
|
@ -238,16 +201,14 @@ impl ::protobuf::Message for Subscription {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
|
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
|
||||||
::protobuf::MessageStatic::descriptor_static(None::<Self>)
|
Self::descriptor_static()
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl ::protobuf::MessageStatic for Subscription {
|
|
||||||
fn new() -> Subscription {
|
fn new() -> Subscription {
|
||||||
Subscription::new()
|
Subscription::new()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn descriptor_static(_: ::std::option::Option<Subscription>) -> &'static ::protobuf::reflect::MessageDescriptor {
|
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
|
||||||
static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
|
static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
|
||||||
lock: ::protobuf::lazy::ONCE_INIT,
|
lock: ::protobuf::lazy::ONCE_INIT,
|
||||||
ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
|
ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
|
||||||
|
@ -257,18 +218,18 @@ impl ::protobuf::MessageStatic for Subscription {
|
||||||
let mut fields = ::std::vec::Vec::new();
|
let mut fields = ::std::vec::Vec::new();
|
||||||
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
|
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
|
||||||
"uri",
|
"uri",
|
||||||
Subscription::get_uri_for_reflect,
|
|m: &Subscription| { &m.uri },
|
||||||
Subscription::mut_uri_for_reflect,
|
|m: &mut Subscription| { &mut m.uri },
|
||||||
));
|
));
|
||||||
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
|
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
|
||||||
"expiry",
|
"expiry",
|
||||||
Subscription::get_expiry_for_reflect,
|
|m: &Subscription| { &m.expiry },
|
||||||
Subscription::mut_expiry_for_reflect,
|
|m: &mut Subscription| { &mut m.expiry },
|
||||||
));
|
));
|
||||||
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
|
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
|
||||||
"status_code",
|
"status_code",
|
||||||
Subscription::get_status_code_for_reflect,
|
|m: &Subscription| { &m.status_code },
|
||||||
Subscription::mut_status_code_for_reflect,
|
|m: &mut Subscription| { &mut m.status_code },
|
||||||
));
|
));
|
||||||
::protobuf::reflect::MessageDescriptor::new::<Subscription>(
|
::protobuf::reflect::MessageDescriptor::new::<Subscription>(
|
||||||
"Subscription",
|
"Subscription",
|
||||||
|
@ -278,6 +239,16 @@ impl ::protobuf::MessageStatic for Subscription {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn default_instance() -> &'static Subscription {
|
||||||
|
static mut instance: ::protobuf::lazy::Lazy<Subscription> = ::protobuf::lazy::Lazy {
|
||||||
|
lock: ::protobuf::lazy::ONCE_INIT,
|
||||||
|
ptr: 0 as *const Subscription,
|
||||||
|
};
|
||||||
|
unsafe {
|
||||||
|
instance.get(Subscription::new)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ::protobuf::Clear for Subscription {
|
impl ::protobuf::Clear for Subscription {
|
||||||
|
@ -301,31 +272,11 @@ impl ::protobuf::reflect::ProtobufValue for Subscription {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static file_descriptor_proto_data: &'static [u8] = &[
|
static file_descriptor_proto_data: &'static [u8] = b"\
|
||||||
0x0a, 0x0c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59,
|
\n\x0cpubsub.proto\"Y\n\x0cSubscription\x12\x10\n\x03uri\x18\x01\x20\x01\
|
||||||
0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10,
|
(\tR\x03uri\x12\x16\n\x06expiry\x18\x02\x20\x01(\x05R\x06expiry\x12\x1f\
|
||||||
0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69,
|
\n\x0bstatus_code\x18\x03\x20\x01(\x05R\nstatusCode\
|
||||||
0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
";
|
||||||
0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74,
|
|
||||||
0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73,
|
|
||||||
0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x4a, 0xf9, 0x01, 0x0a, 0x06, 0x12, 0x04,
|
|
||||||
0x00, 0x00, 0x06, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x0a,
|
|
||||||
0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x02, 0x00, 0x06, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00,
|
|
||||||
0x01, 0x12, 0x03, 0x02, 0x08, 0x14, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03,
|
|
||||||
0x03, 0x04, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x03, 0x04,
|
|
||||||
0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x03, 0x0d, 0x13, 0x0a,
|
|
||||||
0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x03, 0x14, 0x17, 0x0a, 0x0c, 0x0a,
|
|
||||||
0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x03, 0x1a, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04,
|
|
||||||
0x00, 0x02, 0x01, 0x12, 0x03, 0x04, 0x04, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01,
|
|
||||||
0x04, 0x12, 0x03, 0x04, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12,
|
|
||||||
0x03, 0x04, 0x0d, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x04,
|
|
||||||
0x13, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x04, 0x1c, 0x1f,
|
|
||||||
0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x05, 0x04, 0x25, 0x0a, 0x0c, 0x0a,
|
|
||||||
0x05, 0x04, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x05, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
|
|
||||||
0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x05, 0x0d, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02,
|
|
||||||
0x02, 0x01, 0x12, 0x03, 0x05, 0x13, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03,
|
|
||||||
0x12, 0x03, 0x05, 0x21, 0x24,
|
|
||||||
];
|
|
||||||
|
|
||||||
static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
|
static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
|
||||||
lock: ::protobuf::lazy::ONCE_INIT,
|
lock: ::protobuf::lazy::ONCE_INIT,
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue