[librsvg] property_bag.rs: Wrap rsvg_property_bag_dup() and rsvg_property_bag_free() in Rust
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg] property_bag.rs: Wrap rsvg_property_bag_dup() and rsvg_property_bag_free() in Rust
- Date: Thu, 23 Mar 2017 00:44:22 +0000 (UTC)
commit 101186586f1915b2e020ad1cea31573448c64dbb
Author: Federico Mena Quintero <federico gnome org>
Date: Wed Mar 22 16:28:14 2017 -0600
property_bag.rs: Wrap rsvg_property_bag_dup() and rsvg_property_bag_free() in Rust
rust/src/property_bag.rs | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/rust/src/property_bag.rs b/rust/src/property_bag.rs
index 34761b0..239eaa5 100644
--- a/rust/src/property_bag.rs
+++ b/rust/src/property_bag.rs
@@ -14,6 +14,8 @@ pub enum RsvgPropertyBag {}
extern "C" {
fn rsvg_property_bag_size (pbag: *const RsvgPropertyBag) -> libc::c_uint;
fn rsvg_property_bag_lookup (pbag: *const RsvgPropertyBag, key: *const libc::c_char) -> *const
libc::c_char;
+ fn rsvg_property_bag_dup (pbag: *const RsvgPropertyBag) -> *mut RsvgPropertyBag;
+ fn rsvg_property_bag_free (pbag: *mut RsvgPropertyBag);
}
pub fn get_size (pbag: *const RsvgPropertyBag) -> usize {
@@ -27,6 +29,18 @@ pub fn lookup (pbag: *const RsvgPropertyBag, key: &str) -> Option<String> {
}
}
+pub fn dup (pbag: *const RsvgPropertyBag) -> *mut RsvgPropertyBag {
+ unsafe {
+ rsvg_property_bag_dup (pbag)
+ }
+}
+
+pub fn free (pbag: *mut RsvgPropertyBag) {
+ unsafe {
+ rsvg_property_bag_free (pbag);
+ }
+}
+
pub fn length_or_none (pbag: *const RsvgPropertyBag, key: &'static str, length_dir: LengthDir) -> Result
<Option<RsvgLength>, NodeError> {
let value = lookup (pbag, key);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]