diff --git a/rust-bindings/rust/conf/ostree.toml b/rust-bindings/rust/conf/ostree.toml index 4eec250f..3a2d3746 100644 --- a/rust-bindings/rust/conf/ostree.toml +++ b/rust-bindings/rust/conf/ostree.toml @@ -32,6 +32,10 @@ generate = [ "OSTree.RepoDevInoCache", "OSTree.RepoFile", "OSTree.RepoFinder", + "OSTree.RepoFinderAvahi", + "OSTree.RepoFinderConfig", + "OSTree.RepoFinderMount", + "OSTree.RepoFinderOverride", "OSTree.RepoListRefsExtFlags", "OSTree.RepoMode", "OSTree.RepoPruneFlags", @@ -47,9 +51,6 @@ generate = [ "OSTree.SysrootUpgrader", "OSTree.SysrootUpgraderFlags", "OSTree.SysrootUpgraderPullFlags", - - #"OSTree.RepoPruneOptions", - #"OSTree.RepoExportArchiveOptions", ] manual = [ @@ -65,6 +66,11 @@ manual = [ "GLib.Variant", "OSTree.RepoCheckoutAtOptions", + "OSTree.RepoCheckoutFilter", +] + +ignore = [ + "OSTree.RepoCheckoutOptions", ] [crate_name_overrides] diff --git a/rust-bindings/rust/src/auto/mod.rs b/rust-bindings/rust/src/auto/mod.rs index 17a94c61..dbcc6ef9 100644 --- a/rust-bindings/rust/src/auto/mod.rs +++ b/rust-bindings/rust/src/auto/mod.rs @@ -30,6 +30,29 @@ mod repo_finder; pub use self::repo_finder::{RepoFinder, NONE_REPO_FINDER}; pub use self::repo_finder::RepoFinderExt; +#[cfg(any(feature = "v2018_6", feature = "dox"))] +mod repo_finder_avahi; +#[cfg(any(feature = "v2018_6", feature = "dox"))] +pub use self::repo_finder_avahi::{RepoFinderAvahi, RepoFinderAvahiClass, NONE_REPO_FINDER_AVAHI}; +#[cfg(any(feature = "v2018_6", feature = "dox"))] +pub use self::repo_finder_avahi::RepoFinderAvahiExt; + +#[cfg(any(feature = "v2018_6", feature = "dox"))] +mod repo_finder_config; +#[cfg(any(feature = "v2018_6", feature = "dox"))] +pub use self::repo_finder_config::{RepoFinderConfig, RepoFinderConfigClass, NONE_REPO_FINDER_CONFIG}; + +mod repo_finder_mount; +pub use self::repo_finder_mount::{RepoFinderMount, RepoFinderMountClass, NONE_REPO_FINDER_MOUNT}; +pub use self::repo_finder_mount::RepoFinderMountExt; + +#[cfg(any(feature = "v2018_6", feature = "dox"))] +mod repo_finder_override; +#[cfg(any(feature = "v2018_6", feature = "dox"))] +pub use self::repo_finder_override::{RepoFinderOverride, RepoFinderOverrideClass, NONE_REPO_FINDER_OVERRIDE}; +#[cfg(any(feature = "v2018_6", feature = "dox"))] +pub use self::repo_finder_override::RepoFinderOverrideExt; + mod se_policy; pub use self::se_policy::{SePolicy, SePolicyClass}; @@ -128,4 +151,9 @@ pub mod traits { pub use super::MutableTreeExt; pub use super::RepoFileExt; pub use super::RepoFinderExt; + #[cfg(any(feature = "v2018_6", feature = "dox"))] + pub use super::RepoFinderAvahiExt; + pub use super::RepoFinderMountExt; + #[cfg(any(feature = "v2018_6", feature = "dox"))] + pub use super::RepoFinderOverrideExt; } diff --git a/rust-bindings/rust/src/auto/repo_finder_avahi.rs b/rust-bindings/rust/src/auto/repo_finder_avahi.rs new file mode 100644 index 00000000..642f730f --- /dev/null +++ b/rust-bindings/rust/src/auto/repo_finder_avahi.rs @@ -0,0 +1,61 @@ +// This file was generated by gir (https://github.com/gtk-rs/gir) +// from gir-files (https://github.com/gtk-rs/gir-files) +// DO NOT EDIT + +#[cfg(any(feature = "v2018_6", feature = "dox"))] +use Error; +use RepoFinder; +use glib::object::IsA; +use glib::translate::*; +use ostree_sys; +use std::fmt; +#[cfg(any(feature = "v2018_6", feature = "dox"))] +use std::ptr; + +glib_wrapper! { + pub struct RepoFinderAvahi(Object) @implements RepoFinder; + + match fn { + get_type => || ostree_sys::ostree_repo_finder_avahi_get_type(), + } +} + +impl RepoFinderAvahi { + //pub fn new(context: /*Ignored*/&glib::MainContext) -> RepoFinderAvahi { + // unsafe { TODO: call ostree_sys:ostree_repo_finder_avahi_new() } + //} +} + +pub const NONE_REPO_FINDER_AVAHI: Option<&RepoFinderAvahi> = None; + +pub trait RepoFinderAvahiExt: 'static { + #[cfg(any(feature = "v2018_6", feature = "dox"))] + fn start(&self) -> Result<(), Error>; + + #[cfg(any(feature = "v2018_6", feature = "dox"))] + fn stop(&self); +} + +impl> RepoFinderAvahiExt for O { + #[cfg(any(feature = "v2018_6", feature = "dox"))] + fn start(&self) -> Result<(), Error> { + unsafe { + let mut error = ptr::null_mut(); + let _ = ostree_sys::ostree_repo_finder_avahi_start(self.as_ref().to_glib_none().0, &mut error); + if error.is_null() { Ok(()) } else { Err(from_glib_full(error)) } + } + } + + #[cfg(any(feature = "v2018_6", feature = "dox"))] + fn stop(&self) { + unsafe { + ostree_sys::ostree_repo_finder_avahi_stop(self.as_ref().to_glib_none().0); + } + } +} + +impl fmt::Display for RepoFinderAvahi { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "RepoFinderAvahi") + } +} diff --git a/rust-bindings/rust/src/auto/repo_finder_config.rs b/rust-bindings/rust/src/auto/repo_finder_config.rs new file mode 100644 index 00000000..9b8ae2f1 --- /dev/null +++ b/rust-bindings/rust/src/auto/repo_finder_config.rs @@ -0,0 +1,40 @@ +// This file was generated by gir (https://github.com/gtk-rs/gir) +// from gir-files (https://github.com/gtk-rs/gir-files) +// DO NOT EDIT + +use RepoFinder; +use glib::translate::*; +use ostree_sys; +use std::fmt; + +glib_wrapper! { + pub struct RepoFinderConfig(Object) @implements RepoFinder; + + match fn { + get_type => || ostree_sys::ostree_repo_finder_config_get_type(), + } +} + +impl RepoFinderConfig { + #[cfg(any(feature = "v2018_6", feature = "dox"))] + pub fn new() -> RepoFinderConfig { + unsafe { + from_glib_full(ostree_sys::ostree_repo_finder_config_new()) + } + } +} + +#[cfg(any(feature = "v2018_6", feature = "dox"))] +impl Default for RepoFinderConfig { + fn default() -> Self { + Self::new() + } +} + +pub const NONE_REPO_FINDER_CONFIG: Option<&RepoFinderConfig> = None; + +impl fmt::Display for RepoFinderConfig { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "RepoFinderConfig") + } +} diff --git a/rust-bindings/rust/src/auto/repo_finder_mount.rs b/rust-bindings/rust/src/auto/repo_finder_mount.rs new file mode 100644 index 00000000..f70fe638 --- /dev/null +++ b/rust-bindings/rust/src/auto/repo_finder_mount.rs @@ -0,0 +1,48 @@ +// This file was generated by gir (https://github.com/gtk-rs/gir) +// from gir-files (https://github.com/gtk-rs/gir-files) +// DO NOT EDIT + +use RepoFinder; +use glib::object::IsA; +use glib::translate::*; +use ostree_sys; +use std::fmt; + +glib_wrapper! { + pub struct RepoFinderMount(Object) @implements RepoFinder; + + match fn { + get_type => || ostree_sys::ostree_repo_finder_mount_get_type(), + } +} + +impl RepoFinderMount { + //#[cfg(any(feature = "v2018_6", feature = "dox"))] + //pub fn new(monitor: /*Ignored*/Option<&gio::VolumeMonitor>) -> RepoFinderMount { + // unsafe { TODO: call ostree_sys:ostree_repo_finder_mount_new() } + //} +} + +pub const NONE_REPO_FINDER_MOUNT: Option<&RepoFinderMount> = None; + +pub trait RepoFinderMountExt: 'static { + //#[cfg(any(feature = "v2018_6", feature = "dox"))] + //fn get_property_monitor(&self) -> /*Ignored*/Option; +} + +impl> RepoFinderMountExt for O { + //#[cfg(any(feature = "v2018_6", feature = "dox"))] + //fn get_property_monitor(&self) -> /*Ignored*/Option { + // unsafe { + // let mut value = Value::from_type(::static_type()); + // gobject_sys::g_object_get_property(self.to_glib_none().0 as *mut gobject_sys::GObject, b"monitor\0".as_ptr() as *const _, value.to_glib_none_mut().0); + // value.get() + // } + //} +} + +impl fmt::Display for RepoFinderMount { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "RepoFinderMount") + } +} diff --git a/rust-bindings/rust/src/auto/repo_finder_override.rs b/rust-bindings/rust/src/auto/repo_finder_override.rs new file mode 100644 index 00000000..39328912 --- /dev/null +++ b/rust-bindings/rust/src/auto/repo_finder_override.rs @@ -0,0 +1,55 @@ +// This file was generated by gir (https://github.com/gtk-rs/gir) +// from gir-files (https://github.com/gtk-rs/gir-files) +// DO NOT EDIT + +use RepoFinder; +use glib::object::IsA; +use glib::translate::*; +use ostree_sys; +use std::fmt; + +glib_wrapper! { + pub struct RepoFinderOverride(Object) @implements RepoFinder; + + match fn { + get_type => || ostree_sys::ostree_repo_finder_override_get_type(), + } +} + +impl RepoFinderOverride { + #[cfg(any(feature = "v2018_6", feature = "dox"))] + pub fn new() -> RepoFinderOverride { + unsafe { + from_glib_full(ostree_sys::ostree_repo_finder_override_new()) + } + } +} + +#[cfg(any(feature = "v2018_6", feature = "dox"))] +impl Default for RepoFinderOverride { + fn default() -> Self { + Self::new() + } +} + +pub const NONE_REPO_FINDER_OVERRIDE: Option<&RepoFinderOverride> = None; + +pub trait RepoFinderOverrideExt: 'static { + #[cfg(any(feature = "v2018_6", feature = "dox"))] + fn add_uri(&self, uri: &str); +} + +impl> RepoFinderOverrideExt for O { + #[cfg(any(feature = "v2018_6", feature = "dox"))] + fn add_uri(&self, uri: &str) { + unsafe { + ostree_sys::ostree_repo_finder_override_add_uri(self.as_ref().to_glib_none().0, uri.to_glib_none().0); + } + } +} + +impl fmt::Display for RepoFinderOverride { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "RepoFinderOverride") + } +}