Fix a few more missing methods
This commit is contained in:
1 parent
04bd81be0f
commit
cfcc97d5f7
4 files changed
+66
-21
No files matched your search
@@ -61,6 +61,8 @@ pub trait MutableTreeExt {
|
||||
|
||||
//fn get_subdirs(&self) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 1, id: 37 };
|
||||
|
||||
fn lookup(&self, name: &str) -> Result<(String, MutableTree), Error>;
|
||||
|
||||
#[cfg(any(feature = "v2018_9", feature = "dox"))]
|
||||
fn remove(&self, name: &str, allow_noent: bool) -> Result<(), Error>;
|
||||
|
||||
@@ -123,6 +125,16 @@ impl<O: IsA<MutableTree>> MutableTreeExt for O {
|
||||
// unsafe { TODO: call ffi::ostree_mutable_tree_get_subdirs() }
|
||||
//}
|
||||
|
||||
fn lookup(&self, name: &str) -> Result<(String, MutableTree), Error> {
|
||||
unsafe {
|
||||
let mut out_file_checksum = ptr::null_mut();
|
||||
let mut out_subdir = ptr::null_mut();
|
||||
let mut error = ptr::null_mut();
|
||||
let _ = ffi::ostree_mutable_tree_lookup(self.to_glib_none().0, name.to_glib_none().0, &mut out_file_checksum, &mut out_subdir, &mut error);
|
||||
if error.is_null() { Ok((from_glib_full(out_file_checksum), from_glib_full(out_subdir))) } else { Err(from_glib_full(error)) }
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(any(feature = "v2018_9", feature = "dox"))]
|
||||
fn remove(&self, name: &str, allow_noent: bool) -> Result<(), Error> {
|
||||
unsafe {
|
||||
|
||||
@@ -81,6 +81,15 @@ impl Repo {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn mode_from_string(mode: &str) -> Result<RepoMode, Error> {
|
||||
unsafe {
|
||||
let mut out_mode = mem::uninitialized();
|
||||
let mut error = ptr::null_mut();
|
||||
let _ = ffi::ostree_repo_mode_from_string(mode.to_glib_none().0, &mut out_mode, &mut error);
|
||||
if error.is_null() { Ok(from_glib(out_mode)) } else { Err(from_glib_full(error)) }
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(any(feature = "v2017_10", feature = "dox"))]
|
||||
pub fn open_at<'a, P: Into<Option<&'a gio::Cancellable>>>(dfd: i32, path: &str, cancellable: P) -> Result<Repo, Error> {
|
||||
let cancellable = cancellable.into();
|
||||
@@ -269,6 +278,8 @@ pub trait RepoExt {
|
||||
|
||||
fn remote_get_url(&self, name: &str) -> Result<String, Error>;
|
||||
|
||||
fn remote_gpg_import<'a, 'b, P: IsA<gio::InputStream> + 'a, Q: Into<Option<&'a P>>, R: Into<Option<&'b gio::Cancellable>>>(&self, name: &str, source_stream: Q, key_ids: &[&str], cancellable: R) -> Result<u32, Error>;
|
||||
|
||||
fn remote_list(&self) -> Vec<String>;
|
||||
|
||||
//#[cfg(any(feature = "v2018_6", feature = "dox"))]
|
||||
@@ -990,6 +1001,19 @@ impl<O: IsA<Repo> + IsA<glib::object::Object>> RepoExt for O {
|
||||
}
|
||||
}
|
||||
|
||||
fn remote_gpg_import<'a, 'b, P: IsA<gio::InputStream> + 'a, Q: Into<Option<&'a P>>, R: Into<Option<&'b gio::Cancellable>>>(&self, name: &str, source_stream: Q, key_ids: &[&str], cancellable: R) -> Result<u32, Error> {
|
||||
let source_stream = source_stream.into();
|
||||
let source_stream = source_stream.to_glib_none();
|
||||
let cancellable = cancellable.into();
|
||||
let cancellable = cancellable.to_glib_none();
|
||||
unsafe {
|
||||
let mut out_imported = mem::uninitialized();
|
||||
let mut error = ptr::null_mut();
|
||||
let _ = ffi::ostree_repo_remote_gpg_import(self.to_glib_none().0, name.to_glib_none().0, source_stream.0, key_ids.to_glib_none().0, &mut out_imported, cancellable.0, &mut error);
|
||||
if error.is_null() { Ok(out_imported) } else { Err(from_glib_full(error)) }
|
||||
}
|
||||
}
|
||||
|
||||
fn remote_list(&self) -> Vec<String> {
|
||||
unsafe {
|
||||
let mut out_n_remotes = mem::uninitialized();
|
||||
|
||||
Reference in new issue
Block a user