1 /* font-manager-xml-writer.h 2 * 3 * Copyright (C) 2009 - 2021 Jerry Casiano 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. 17 * 18 * If not, see <http://www.gnu.org/licenses/gpl-3.0.txt>. 19 */ 20 21 #ifndef __FONT_MANAGER_XML_WRITER_H__ 22 #define __FONT_MANAGER_XML_WRITER_H__ 23 24 #include <glib.h> 25 #include <glib-object.h> 26 27 G_BEGIN_DECLS 28 29 #define FONT_MANAGER_TYPE_XML_WRITER (font_manager_xml_writer_get_type()) 30 G_DECLARE_FINAL_TYPE(FontManagerXmlWriter, font_manager_xml_writer, FONT_MANAGER, XML_WRITER, GObject) 31 32 FontManagerXmlWriter * font_manager_xml_writer_new (void); 33 gboolean font_manager_xml_writer_open (FontManagerXmlWriter *self, const gchar *filepath); 34 gboolean font_manager_xml_writer_close (FontManagerXmlWriter *self); 35 void font_manager_xml_writer_discard (FontManagerXmlWriter *self); 36 37 gint font_manager_xml_writer_start_element (FontManagerXmlWriter *self, const gchar *name); 38 gint font_manager_xml_writer_end_element (FontManagerXmlWriter *self); 39 40 gint font_manager_xml_writer_write_element (FontManagerXmlWriter *self, 41 const gchar *name, 42 const gchar *content); 43 44 gint font_manager_xml_writer_write_attribute (FontManagerXmlWriter *self, 45 const gchar *name, 46 const gchar *content); 47 48 void font_manager_xml_writer_add_assignment (FontManagerXmlWriter *self, 49 const gchar *a_name, 50 const gchar *a_type, 51 const gchar *a_val); 52 53 void font_manager_xml_writer_add_elements (FontManagerXmlWriter *self, 54 const gchar *e_type, 55 GList *elements); 56 57 void font_manager_xml_writer_add_patelt (FontManagerXmlWriter *self, 58 const gchar *p_name, 59 const gchar *p_type, 60 const gchar *p_val); 61 62 void font_manager_xml_writer_add_selections (FontManagerXmlWriter *self, 63 const gchar *selection_type, 64 GList *selections); 65 66 void font_manager_xml_writer_add_test_element (FontManagerXmlWriter *self, 67 const gchar *t_name, 68 const gchar *t_test, 69 const gchar *t_type, 70 const gchar *t_val); 71 72 G_END_DECLS 73 74 #endif /* __FONT_MANAGER_XML_WRITER_H__ */ 75