summaryrefslogtreecommitdiffstats
path: root/sediff/result_item_render.h
diff options
context:
space:
mode:
Diffstat (limited to 'sediff/result_item_render.h')
-rw-r--r--sediff/result_item_render.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/sediff/result_item_render.h b/sediff/result_item_render.h
new file mode 100644
index 0000000..e593550
--- /dev/null
+++ b/sediff/result_item_render.h
@@ -0,0 +1,79 @@
+/**
+ * @file
+ * Header for rendering a result item.
+ *
+ * @author Jeremy A. Mowery jmowery@tresys.com
+ * @author Jason Tang jtang@tresys.com
+ *
+ * Copyright (C) 2007 Tresys Technology, LLC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+#ifndef RESULT_ITEM_RENDER_H
+#define RESULT_ITEM_RENDER_H
+
+#include "result_item.h"
+
+/**
+ * Show a single diff item string. This will add the appropriate
+ * color tags based upon the item's first non-space character.
+ */
+void result_item_print_string(GtkTextBuffer * tb, GtkTextIter * iter, const char *s, unsigned int indent_level);
+
+/**
+ * Print a string to a text buffer. Note that this differs from the
+ * more general results_print_string() because there are inline '+'
+ * and '-' markers.
+ */
+void result_item_print_string_inline(GtkTextBuffer * tb, GtkTextIter * iter, const char *s, unsigned int indent_level);
+
+/**
+ * Show the results for a single AV rule diff string.
+ */
+void result_item_print_string_avrule(GtkTextBuffer * tb, GtkTextIter * iter, const char *s, unsigned int indent_level);
+
+/**
+ * Show the results for non-rules diff components.
+ */
+void result_item_print_diff(result_item_t * item, GtkTextBuffer * tb, poldiff_form_e form);
+
+/**
+ * Show the results for rules diff components.
+ */
+void result_item_print_rule_diff(result_item_t * item, GtkTextBuffer * tb, poldiff_form_e form);
+
+/**
+ * Show a summary of the diff for a particular policy component.
+ */
+void result_item_print_summary(result_item_t * item, GtkTextBuffer * tb);
+
+/**
+ * Show a common header when printing a policy component diff.
+ */
+void result_item_print_header(result_item_t * item, GtkTextBuffer * tb, poldiff_form_e form);
+
+/**
+ * Given a vector of unsigned long integers, write to the text buffer
+ * those line numbers using the given tag.
+ */
+void result_item_print_linenos(GtkTextBuffer * tb, GtkTextIter * iter,
+ const gchar * prefix, const apol_vector_t * linenos, const gchar * tag, GString * string);
+
+/**
+ * Show the results for a modified range.
+ */
+void result_item_print_modified_range(result_item_t * item, const poldiff_range_t * range, GtkTextBuffer * tb, GtkTextIter * iter);
+
+#endif