1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
2  *
3  * Copyright (C) 2014-2016 Richard Hughes <richard@hughsie.com>
4  *
5  * SPDX-License-Identifier: LGPL-2.1+
6  */
7 
8 #pragma once
9 
10 #if !defined (__APPSTREAM_GLIB_H_INSIDE__) && !defined (AS_COMPILATION)
11 #error "Only <appstream-glib.h> can be included directly."
12 #endif
13 
14 #include <glib.h>
15 
16 G_BEGIN_DECLS
17 
18 /**
19  * AsMarkupConvertFormat:
20  * @AS_MARKUP_CONVERT_FORMAT_SIMPLE:		UTF-8 text
21  * @AS_MARKUP_CONVERT_FORMAT_MARKDOWN:		Markdown format
22  * @AS_MARKUP_CONVERT_FORMAT_NULL:		No output
23  * @AS_MARKUP_CONVERT_FORMAT_APPSTREAM:		AppStream (passthrough)
24  * @AS_MARKUP_CONVERT_FORMAT_HTML:		HyperText Markup Language
25  *
26  * The format used when converting to or from AppStream descriptions.
27  **/
28 typedef enum {
29 	AS_MARKUP_CONVERT_FORMAT_SIMPLE,
30 	AS_MARKUP_CONVERT_FORMAT_MARKDOWN,
31 	AS_MARKUP_CONVERT_FORMAT_NULL,		/* Since: 0.5.2 */
32 	AS_MARKUP_CONVERT_FORMAT_APPSTREAM,	/* Since: 0.5.2 */
33 	AS_MARKUP_CONVERT_FORMAT_HTML,		/* Since: 0.5.11 */
34 	/*< private >*/
35 	AS_MARKUP_CONVERT_FORMAT_LAST
36 } AsMarkupConvertFormat;
37 
38 /**
39  * AsMarkupConvertFlag:
40  * @AS_MARKUP_CONVERT_FLAG_NONE:		No flags set
41  * @AS_MARKUP_CONVERT_FLAG_IGNORE_ERRORS:	Ignore errors where possible
42  *
43  * The flags used when converting descriptions from AppStream-style.
44  **/
45 typedef enum {
46 	AS_MARKUP_CONVERT_FLAG_NONE		= 0,
47 	AS_MARKUP_CONVERT_FLAG_IGNORE_ERRORS	= 1 << 0,
48 	/*< private >*/
49 	AS_MARKUP_CONVERT_FLAG_LAST
50 } AsMarkupConvertFlag;
51 
52 gchar		*as_markup_convert_simple	(const gchar	*markup,
53 						 GError		**error);
54 gchar		*as_markup_convert		(const gchar	*markup,
55 						 AsMarkupConvertFormat format,
56 						 GError		**error);
57 gchar		*as_markup_convert_full		(const gchar	*markup,
58 						 AsMarkupConvertFormat format,
59 						 AsMarkupConvertFlag flags,
60 						 GError		**error);
61 gboolean	 as_markup_validate		(const gchar	*markup,
62 						 GError		**error);
63 gchar		**as_markup_strsplit_words	(const gchar	*text,
64 						 guint		 line_len);
65 gchar		*as_markup_import		(const gchar	*text,
66 						 AsMarkupConvertFormat format,
67 						 GError		**error);
68 
69 G_END_DECLS
70