use crate::{Checker, Provider};
impl Checker {
pub fn builder() -> CheckerBuilder {
CheckerBuilder::new()
}
}
#[must_use = "The builder must be built to be used"]
pub struct CheckerBuilder {
builder: glib::object::ObjectBuilder<'static, Checker>,
}
impl CheckerBuilder {
fn new() -> Self {
Self {
builder: glib::object::Object::builder(),
}
}
pub fn language(self, language: impl Into<glib::GString>) -> Self {
Self {
builder: self.builder.property("language", language.into()),
}
}
pub fn provider(self, provider: &Provider) -> Self {
Self {
builder: self.builder.property("provider", provider.clone()),
}
}
#[must_use = "Building the object from the builder is usually expensive and is not expected to have side effects"]
pub fn build(self) -> Checker {
self.builder.build()
}
}