2021-07-05 15:33:39 +08:00
|
|
|
use crate::proto::ProtoGen;
|
|
|
|
|
2021-07-05 23:17:12 +08:00
|
|
|
#[allow(dead_code)]
|
2021-07-05 15:33:39 +08:00
|
|
|
pub struct ProtoGenBuilder {
|
2021-11-29 20:07:38 +08:00
|
|
|
rust_source_dirs: Option<Vec<String>>,
|
2021-07-06 09:08:24 +08:00
|
|
|
flutter_package_lib: Option<String>,
|
2021-07-05 15:33:39 +08:00
|
|
|
derive_meta_dir: Option<String>,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl ProtoGenBuilder {
|
|
|
|
pub fn new() -> Self {
|
|
|
|
ProtoGenBuilder {
|
2021-11-29 20:07:38 +08:00
|
|
|
rust_source_dirs: None,
|
2021-07-06 09:08:24 +08:00
|
|
|
flutter_package_lib: None,
|
2021-07-05 15:33:39 +08:00
|
|
|
derive_meta_dir: None,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-11-29 20:07:38 +08:00
|
|
|
pub fn set_rust_source_dirs(mut self, dirs: Vec<String>) -> Self {
|
|
|
|
self.rust_source_dirs = Some(dirs);
|
2021-07-05 15:33:39 +08:00
|
|
|
self
|
|
|
|
}
|
|
|
|
|
2021-07-06 09:08:24 +08:00
|
|
|
pub fn set_flutter_package_lib(mut self, dir: &str) -> Self {
|
|
|
|
self.flutter_package_lib = Some(dir.to_string());
|
2021-07-05 15:33:39 +08:00
|
|
|
self
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn set_derive_meta_dir(mut self, dir: &str) -> Self {
|
|
|
|
self.derive_meta_dir = Some(dir.to_string());
|
|
|
|
self
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn build(self) -> ProtoGen {
|
|
|
|
ProtoGen {
|
2021-11-29 20:07:38 +08:00
|
|
|
rust_source_dirs: self.rust_source_dirs.unwrap(),
|
2021-07-06 09:08:24 +08:00
|
|
|
flutter_package_lib: self.flutter_package_lib.unwrap(),
|
2021-07-05 15:33:39 +08:00
|
|
|
derive_meta_dir: self.derive_meta_dir.unwrap(),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|