#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blob {
#[prost(int32, optional, tag = "2")]
pub raw_size: ::core::option::Option<i32>,
#[prost(oneof = "blob::Data", tags = "1, 3, 4, 5, 6, 7")]
pub data: ::core::option::Option<blob::Data>,
}
pub mod blob {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Data {
#[prost(bytes, tag = "1")]
Raw(::prost::alloc::vec::Vec<u8>),
#[prost(bytes, tag = "3")]
ZlibData(::prost::alloc::vec::Vec<u8>),
#[prost(bytes, tag = "4")]
LzmaData(::prost::alloc::vec::Vec<u8>),
#[prost(bytes, tag = "5")]
ObsoleteBzip2Data(::prost::alloc::vec::Vec<u8>),
#[prost(bytes, tag = "6")]
Lz4Data(::prost::alloc::vec::Vec<u8>),
#[prost(bytes, tag = "7")]
ZstdData(::prost::alloc::vec::Vec<u8>),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BlobHeader {
#[prost(string, required, tag = "1")]
pub r#type: ::prost::alloc::string::String,
#[prost(bytes = "vec", optional, tag = "2")]
pub indexdata: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
#[prost(int32, required, tag = "3")]
pub datasize: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeaderBlock {
#[prost(message, optional, tag = "1")]
pub bbox: ::core::option::Option<HeaderBBox>,
#[prost(string, repeated, tag = "4")]
pub required_features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "5")]
pub optional_features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "16")]
pub writingprogram: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "17")]
pub source: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag = "32")]
pub osmosis_replication_timestamp: ::core::option::Option<i64>,
#[prost(int64, optional, tag = "33")]
pub osmosis_replication_sequence_number: ::core::option::Option<i64>,
#[prost(string, optional, tag = "34")]
pub osmosis_replication_base_url: ::core::option::Option<
::prost::alloc::string::String,
>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeaderBBox {
#[prost(sint64, required, tag = "1")]
pub left: i64,
#[prost(sint64, required, tag = "2")]
pub right: i64,
#[prost(sint64, required, tag = "3")]
pub top: i64,
#[prost(sint64, required, tag = "4")]
pub bottom: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrimitiveBlock {
#[prost(message, required, tag = "1")]
pub stringtable: StringTable,
#[prost(message, repeated, tag = "2")]
pub primitivegroup: ::prost::alloc::vec::Vec<PrimitiveGroup>,
#[prost(int32, optional, tag = "17", default = "100")]
pub granularity: ::core::option::Option<i32>,
#[prost(int64, optional, tag = "19", default = "0")]
pub lat_offset: ::core::option::Option<i64>,
#[prost(int64, optional, tag = "20", default = "0")]
pub lon_offset: ::core::option::Option<i64>,
#[prost(int32, optional, tag = "18", default = "1000")]
pub date_granularity: ::core::option::Option<i32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrimitiveGroup {
#[prost(message, repeated, tag = "1")]
pub nodes: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag = "2")]
pub dense: ::core::option::Option<DenseNodes>,
#[prost(message, repeated, tag = "3")]
pub ways: ::prost::alloc::vec::Vec<Way>,
#[prost(message, repeated, tag = "4")]
pub relations: ::prost::alloc::vec::Vec<Relation>,
#[prost(message, repeated, tag = "5")]
pub changesets: ::prost::alloc::vec::Vec<ChangeSet>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StringTable {
#[prost(bytes = "vec", repeated, tag = "1")]
pub s: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Info {
#[prost(int32, optional, tag = "1", default = "-1")]
pub version: ::core::option::Option<i32>,
#[prost(int64, optional, tag = "2")]
pub timestamp: ::core::option::Option<i64>,
#[prost(int64, optional, tag = "3")]
pub changeset: ::core::option::Option<i64>,
#[prost(int32, optional, tag = "4")]
pub uid: ::core::option::Option<i32>,
#[prost(uint32, optional, tag = "5")]
pub user_sid: ::core::option::Option<u32>,
#[prost(bool, optional, tag = "6")]
pub visible: ::core::option::Option<bool>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DenseInfo {
#[prost(int32, repeated, tag = "1")]
pub version: ::prost::alloc::vec::Vec<i32>,
#[prost(sint64, repeated, tag = "2")]
pub timestamp: ::prost::alloc::vec::Vec<i64>,
#[prost(sint64, repeated, tag = "3")]
pub changeset: ::prost::alloc::vec::Vec<i64>,
#[prost(sint32, repeated, tag = "4")]
pub uid: ::prost::alloc::vec::Vec<i32>,
#[prost(sint32, repeated, tag = "5")]
pub user_sid: ::prost::alloc::vec::Vec<i32>,
#[prost(bool, repeated, tag = "6")]
pub visible: ::prost::alloc::vec::Vec<bool>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeSet {
#[prost(int64, required, tag = "1")]
pub id: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Node {
#[prost(sint64, required, tag = "1")]
pub id: i64,
#[prost(uint32, repeated, tag = "2")]
pub keys: ::prost::alloc::vec::Vec<u32>,
#[prost(uint32, repeated, tag = "3")]
pub vals: ::prost::alloc::vec::Vec<u32>,
#[prost(message, optional, tag = "4")]
pub info: ::core::option::Option<Info>,
#[prost(sint64, required, tag = "8")]
pub lat: i64,
#[prost(sint64, required, tag = "9")]
pub lon: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DenseNodes {
#[prost(sint64, repeated, tag = "1")]
pub id: ::prost::alloc::vec::Vec<i64>,
#[prost(message, optional, tag = "5")]
pub denseinfo: ::core::option::Option<DenseInfo>,
#[prost(sint64, repeated, tag = "8")]
pub lat: ::prost::alloc::vec::Vec<i64>,
#[prost(sint64, repeated, tag = "9")]
pub lon: ::prost::alloc::vec::Vec<i64>,
#[prost(int32, repeated, tag = "10")]
pub keys_vals: ::prost::alloc::vec::Vec<i32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Way {
#[prost(int64, required, tag = "1")]
pub id: i64,
#[prost(uint32, repeated, tag = "2")]
pub keys: ::prost::alloc::vec::Vec<u32>,
#[prost(uint32, repeated, tag = "3")]
pub vals: ::prost::alloc::vec::Vec<u32>,
#[prost(message, optional, tag = "4")]
pub info: ::core::option::Option<Info>,
#[prost(sint64, repeated, tag = "8")]
pub refs: ::prost::alloc::vec::Vec<i64>,
#[prost(sint64, repeated, tag = "9")]
pub lat: ::prost::alloc::vec::Vec<i64>,
#[prost(sint64, repeated, tag = "10")]
pub lon: ::prost::alloc::vec::Vec<i64>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Relation {
#[prost(int64, required, tag = "1")]
pub id: i64,
#[prost(uint32, repeated, tag = "2")]
pub keys: ::prost::alloc::vec::Vec<u32>,
#[prost(uint32, repeated, tag = "3")]
pub vals: ::prost::alloc::vec::Vec<u32>,
#[prost(message, optional, tag = "4")]
pub info: ::core::option::Option<Info>,
#[prost(int32, repeated, tag = "8")]
pub roles_sid: ::prost::alloc::vec::Vec<i32>,
#[prost(sint64, repeated, tag = "9")]
pub memids: ::prost::alloc::vec::Vec<i64>,
#[prost(enumeration = "relation::MemberType", repeated, tag = "10")]
pub types: ::prost::alloc::vec::Vec<i32>,
}
pub mod relation {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum MemberType {
Node = 0,
Way = 1,
Relation = 2,
}
impl MemberType {
pub fn as_str_name(&self) -> &'static str {
match self {
MemberType::Node => "NODE",
MemberType::Way => "WAY",
MemberType::Relation => "RELATION",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NODE" => Some(Self::Node),
"WAY" => Some(Self::Way),
"RELATION" => Some(Self::Relation),
_ => None,
}
}
}
}