[librsvg: 16/48] Remove a bunch of unused functions
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 16/48] Remove a bunch of unused functions
- Date: Sat, 17 Nov 2018 10:21:22 +0000 (UTC)
commit ee3a8515e5f4985675f8be07c3a0cd61ea497e8b
Author: Federico Mena Quintero <federico gnome org>
Date: Fri Sep 7 08:31:42 2018 -0500
Remove a bunch of unused functions
There is a single place left where we rsvg_node_unref() by hand in the
C code! Woohoo!
librsvg/rsvg-load.c | 6 --
librsvg/rsvg-private.h | 35 ----------
rsvg_internals/src/lib.rs | 17 +----
rsvg_internals/src/node.rs | 166 ++-------------------------------------------
rsvg_internals/src/xml.rs | 86 +----------------------
5 files changed, 9 insertions(+), 301 deletions(-)
---
diff --git a/librsvg/rsvg-load.c b/librsvg/rsvg-load.c
index 89ea13fc..adae4b34 100644
--- a/librsvg/rsvg-load.c
+++ b/librsvg/rsvg-load.c
@@ -51,13 +51,7 @@ typedef struct RsvgXmlState RsvgXmlState;
/* Implemented in rsvg_internals/src/xml.rs */
extern RsvgXmlState *rsvg_xml_state_new ();
extern void rsvg_xml_state_free (RsvgXmlState *xml);
-extern void rsvg_xml_state_set_root (RsvgXmlState *xml, RsvgNode *root);
extern RsvgTree *rsvg_xml_state_steal_tree(RsvgXmlState *xml);
-extern RsvgNode *rsvg_xml_state_get_current_node(RsvgXmlState *xml);
-extern void rsvg_xml_state_set_current_node(RsvgXmlState *xml, RsvgNode *node);
-extern void rsvg_xml_state_push_element_name(RsvgXmlState *xml, const char *name);
-extern void rsvg_xml_state_pop_element_name(RsvgXmlState *xml);
-extern gboolean rsvg_xml_state_topmost_element_name_is(RsvgXmlState *xml, const char *name);
extern void rsvg_xml_state_free_element_name_stack(RsvgXmlState *xml);
extern void rsvg_xml_state_standard_element_start(RsvgXmlState *xml, RsvgHandle *handle, const char *name,
RsvgPropertyBag atts);
extern void rsvg_xml_state_standard_element_end(RsvgXmlState *xml, RsvgHandle *handle, const char *name);
diff --git a/librsvg/rsvg-private.h b/librsvg/rsvg-private.h
index f31f8d72..5fb04a35 100644
--- a/librsvg/rsvg-private.h
+++ b/librsvg/rsvg-private.h
@@ -120,52 +120,17 @@ struct RsvgHandlePrivate {
#endif
};
-/* Implemented in rust/src/node.rs */
-/* Call this as newref = rsvg_node_ref (node); You don't own the node anymore, just the newref! */
-G_GNUC_INTERNAL
-RsvgNode *rsvg_node_ref (RsvgNode *node) G_GNUC_WARN_UNUSED_RESULT;
-
/* Implemented in rust/src/node.rs */
/* Call this as node = rsvg_node_unref (node); Then node will be NULL and you don't own it anymore! */
G_GNUC_INTERNAL
RsvgNode *rsvg_node_unref (RsvgNode *node) G_GNUC_WARN_UNUSED_RESULT;
-/* Implemented in rust/src/node.rs
- *
- * Returns a new strong reference to the parent (or NULL); use rsvg_node_unref()
- * when you are done.
- */
-G_GNUC_INTERNAL
-RsvgNode *rsvg_node_get_parent (RsvgNode *node) G_GNUC_WARN_UNUSED_RESULT;
-
-/* Implemented in rust/src/node.rs */
-G_GNUC_INTERNAL
-void rsvg_node_add_child (RsvgNode *node, RsvgNode *child);
-
/* Implemented in rust/src/node.rs */
G_GNUC_INTERNAL
void rsvg_node_set_overridden_properties (RsvgNode *node);
typedef struct RsvgNodeChildrenIter *RsvgNodeChildrenIter;
-/* Implemented in rust/src/node.rs */
-G_GNUC_INTERNAL
-RsvgNodeChildrenIter *rsvg_node_children_iter_begin (RsvgNode *node);
-
-/* Implemented in rust/src/node.rs */
-G_GNUC_INTERNAL
-gboolean rsvg_node_children_iter_next (RsvgNodeChildrenIter *iter,
- RsvgNode **out_child);
-
-/* Implemented in rust/src/node.rs */
-G_GNUC_INTERNAL
-gboolean rsvg_node_children_iter_next_back (RsvgNodeChildrenIter *iter,
- RsvgNode **out_child);
-
-/* Implemented in rust/src/node.rs */
-G_GNUC_INTERNAL
-void rsvg_node_children_iter_end (RsvgNodeChildrenIter *iter);
-
/* Implemented in rsvg_internals/src/tree.rs */
G_GNUC_INTERNAL
void rsvg_tree_free (RsvgTree *tree);
diff --git a/rsvg_internals/src/lib.rs b/rsvg_internals/src/lib.rs
index 57144121..420ddf8d 100644
--- a/rsvg_internals/src/lib.rs
+++ b/rsvg_internals/src/lib.rs
@@ -44,16 +44,7 @@ pub use drawing_ctx::{
rsvg_drawing_ctx_new,
};
-pub use node::{
- rsvg_node_add_child,
- rsvg_node_children_iter_begin,
- rsvg_node_children_iter_end,
- rsvg_node_children_iter_next,
- rsvg_node_find_last_chars_child,
- rsvg_node_get_parent,
- rsvg_node_ref,
- rsvg_node_unref,
-};
+pub use node::rsvg_node_unref;
pub use tree::{
rsvg_tree_cascade,
@@ -77,16 +68,10 @@ pub use xml::{
rsvg_xml_state_add_characters,
rsvg_xml_state_free,
rsvg_xml_state_free_element_name_stack,
- rsvg_xml_state_get_current_node,
rsvg_xml_state_new,
- rsvg_xml_state_pop_element_name,
- rsvg_xml_state_push_element_name,
- rsvg_xml_state_set_current_node,
- rsvg_xml_state_set_root,
rsvg_xml_state_standard_element_end,
rsvg_xml_state_standard_element_start,
rsvg_xml_state_steal_tree,
- rsvg_xml_state_topmost_element_name_is,
};
#[macro_use]
diff --git a/rsvg_internals/src/node.rs b/rsvg_internals/src/node.rs
index 789b6007..2b84abee 100644
--- a/rsvg_internals/src/node.rs
+++ b/rsvg_internals/src/node.rs
@@ -645,33 +645,6 @@ impl Node {
}
}
-pub fn node_ptr_to_weak(raw_parent: *const RsvgNode) -> Option<Weak<Node>> {
- if raw_parent.is_null() {
- None
- } else {
- let p: &RsvgNode = unsafe { &*raw_parent };
- Some(Rc::downgrade(&p.clone()))
- }
-}
-
-pub fn boxed_node_new(
- node_type: NodeType,
- raw_parent: *const RsvgNode,
- element_name: &str,
- id: Option<&str>,
- class: Option<&str>,
- node_impl: Box<NodeTrait>,
-) -> *mut RsvgNode {
- box_node(Rc::new(Node::new(
- node_type,
- node_ptr_to_weak(raw_parent),
- element_name,
- id,
- class,
- node_impl,
- )))
-}
-
pub fn node_new(
node_type: NodeType,
parent: Option<&RsvgNode>,
@@ -749,26 +722,6 @@ pub fn box_node(node: RsvgNode) -> *mut RsvgNode {
Box::into_raw(Box::new(node))
}
-#[no_mangle]
-pub extern "C" fn rsvg_node_get_parent(raw_node: *const RsvgNode) -> *const RsvgNode {
- assert!(!raw_node.is_null());
- let node: &RsvgNode = unsafe { &*raw_node };
-
- match node.get_parent() {
- None => ptr::null(),
-
- Some(node) => box_node(node),
- }
-}
-
-#[no_mangle]
-pub extern "C" fn rsvg_node_ref(raw_node: *mut RsvgNode) -> *mut RsvgNode {
- assert!(!raw_node.is_null());
- let node: &RsvgNode = unsafe { &*raw_node };
-
- box_node(node.clone())
-}
-
#[no_mangle]
pub extern "C" fn rsvg_node_unref(raw_node: *mut RsvgNode) -> *mut RsvgNode {
if !raw_node.is_null() {
@@ -779,81 +732,10 @@ pub extern "C" fn rsvg_node_unref(raw_node: *mut RsvgNode) -> *mut RsvgNode {
ptr::null_mut()
}
-#[no_mangle]
-pub extern "C" fn rsvg_node_add_child(raw_node: *mut RsvgNode, raw_child: *const RsvgNode) {
- assert!(!raw_node.is_null());
- assert!(!raw_child.is_null());
- let node: &mut RsvgNode = unsafe { &mut *raw_node };
- let child: &RsvgNode = unsafe { &*raw_child };
-
- node.add_child(child);
-}
-
-#[no_mangle]
-pub extern "C" fn rsvg_node_find_last_chars_child(
- raw_node: *const RsvgNode,
- out_accept_chars: *mut glib_sys::gboolean,
-) -> *mut RsvgNode {
- assert!(!raw_node.is_null());
- let node: &RsvgNode = unsafe { &*raw_node };
-
- let accept_chars = node.accept_chars();
-
- assert!(!out_accept_chars.is_null());
- unsafe {
- *out_accept_chars = accept_chars.to_glib();
- }
-
- if accept_chars {
- if let Some(chars) = node.find_last_chars_child() {
- return box_node(chars);
- }
- }
-
- ptr::null_mut()
-}
-
-#[no_mangle]
-pub extern "C" fn rsvg_node_children_iter_begin(raw_node: *const RsvgNode) -> *mut Children {
- assert!(!raw_node.is_null());
- let node: &RsvgNode = unsafe { &*raw_node };
-
- Box::into_raw(Box::new(node.children()))
-}
-
-#[no_mangle]
-pub extern "C" fn rsvg_node_children_iter_end(iter: *mut Children) {
- assert!(!iter.is_null());
-
- unsafe { Box::from_raw(iter) };
-}
-
-#[no_mangle]
-pub extern "C" fn rsvg_node_children_iter_next(
- iter: *mut Children,
- out_child: *mut *mut RsvgNode,
-) -> glib_sys::gboolean {
- assert!(!iter.is_null());
-
- let iter = unsafe { &mut *iter };
- if let Some(child) = iter.next() {
- unsafe {
- *out_child = box_node(child);
- }
- true.to_glib()
- } else {
- unsafe {
- *out_child = ptr::null_mut();
- }
- false.to_glib()
- }
-}
-
#[cfg(test)]
mod tests {
use super::*;
use handle::RsvgHandle;
- use std::mem;
use std::rc::Rc;
struct TestNodeImpl {}
@@ -864,6 +746,13 @@ mod tests {
}
}
+ fn rsvg_node_ref(raw_node: *mut RsvgNode) -> *mut RsvgNode {
+ assert!(!raw_node.is_null());
+ let node: &RsvgNode = unsafe { &*raw_node };
+
+ box_node(node.clone())
+ }
+
#[test]
fn node_refs_and_unrefs() {
let node = Rc::new(Node::new(
@@ -1000,45 +889,4 @@ mod tests {
assert!(children.next().is_none());
assert!(children.next_back().is_none());
}
-
- #[test]
- fn node_children_iterator_c() {
- let node = Rc::new(Node::new(
- NodeType::Path,
- None,
- "path",
- None,
- None,
- Box::new(TestNodeImpl {}),
- ));
-
- let child = Rc::new(Node::new(
- NodeType::Path,
- Some(Rc::downgrade(&node)),
- "path",
- None,
- None,
- Box::new(TestNodeImpl {}),
- ));
-
- let second_child = Rc::new(Node::new(
- NodeType::Path,
- Some(Rc::downgrade(&node)),
- "path",
- None,
- None,
- Box::new(TestNodeImpl {}),
- ));
-
- node.add_child(&child);
- node.add_child(&second_child);
-
- let iter = rsvg_node_children_iter_begin(&node);
- let mut c = unsafe { mem::uninitialized() };
-
- let result: bool = from_glib(rsvg_node_children_iter_next(iter, &mut c));
- assert_eq!(result, true);
- assert!(Rc::ptr_eq(unsafe { &*c }, &child));
- rsvg_node_unref(c);
- }
}
diff --git a/rsvg_internals/src/xml.rs b/rsvg_internals/src/xml.rs
index 5e7a7715..da6a9475 100644
--- a/rsvg_internals/src/xml.rs
+++ b/rsvg_internals/src/xml.rs
@@ -4,12 +4,9 @@ use std::ptr;
use std::rc::Rc;
use std::str;
-use glib::translate::*;
-use glib_sys;
-
use handle::{self, RsvgHandle};
use load::rsvg_load_new_node;
-use node::{box_node, node_new, Node, NodeType, RsvgNode};
+use node::{node_new, Node, NodeType};
use property_bag::PropertyBag;
use structure::NodeSvg;
use text::NodeChars;
@@ -49,10 +46,6 @@ impl XmlState {
self.tree.take()
}
- pub fn get_current_node(&self) -> Option<Rc<Node>> {
- self.current_node.clone()
- }
-
pub fn set_current_node(&mut self, node: Option<Rc<Node>>) {
self.current_node = node;
}
@@ -184,17 +177,6 @@ pub extern "C" fn rsvg_xml_state_free(xml: *mut RsvgXmlState) {
}
}
-#[no_mangle]
-pub extern "C" fn rsvg_xml_state_set_root(xml: *mut RsvgXmlState, root: *const RsvgNode) {
- assert!(!xml.is_null());
- let xml = unsafe { &mut *(xml as *mut XmlState) };
-
- assert!(!root.is_null());
- let root = unsafe { &*root };
-
- xml.set_root(root);
-}
-
#[no_mangle]
pub extern "C" fn rsvg_xml_state_steal_tree(xml: *mut RsvgXmlState) -> *mut RsvgTree {
assert!(!xml.is_null());
@@ -207,72 +189,6 @@ pub extern "C" fn rsvg_xml_state_steal_tree(xml: *mut RsvgXmlState) -> *mut Rsvg
}
}
-#[no_mangle]
-pub extern "C" fn rsvg_xml_state_get_current_node(xml: *const RsvgXmlState) -> *mut RsvgNode {
- assert!(!xml.is_null());
- let xml = unsafe { &*(xml as *const XmlState) };
-
- if let Some(ref node) = xml.get_current_node() {
- box_node(node.clone())
- } else {
- ptr::null_mut()
- }
-}
-
-#[no_mangle]
-pub extern "C" fn rsvg_xml_state_set_current_node(
- xml: *mut RsvgXmlState,
- raw_node: *const RsvgNode,
-) {
- assert!(!xml.is_null());
- let xml = unsafe { &mut *(xml as *mut XmlState) };
-
- let node = if raw_node.is_null() {
- None
- } else {
- let n = unsafe { &*raw_node };
- Some(n.clone())
- };
-
- xml.set_current_node(node);
-}
-
-#[no_mangle]
-pub extern "C" fn rsvg_xml_state_push_element_name(
- xml: *mut RsvgXmlState,
- name: *const libc::c_char,
-) {
- assert!(!xml.is_null());
- let xml = unsafe { &mut *(xml as *mut XmlState) };
-
- assert!(!name.is_null());
-
- let name = unsafe { utf8_cstr(name) };
- xml.push_element_name(name);
-}
-
-#[no_mangle]
-pub extern "C" fn rsvg_xml_state_pop_element_name(xml: *mut RsvgXmlState) {
- assert!(!xml.is_null());
- let xml = unsafe { &mut *(xml as *mut XmlState) };
-
- xml.pop_element_name();
-}
-
-#[no_mangle]
-pub extern "C" fn rsvg_xml_state_topmost_element_name_is(
- xml: *mut RsvgXmlState,
- name: *const libc::c_char,
-) -> glib_sys::gboolean {
- assert!(!xml.is_null());
- let xml = unsafe { &mut *(xml as *mut XmlState) };
-
- assert!(!name.is_null());
-
- let name = unsafe { utf8_cstr(name) };
- xml.topmost_element_name_is(name).to_glib()
-}
-
#[no_mangle]
pub extern "C" fn rsvg_xml_state_free_element_name_stack(xml: *mut RsvgXmlState) {
assert!(!xml.is_null());
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]