Blame src/xb-builder.h

Packit caecb6
/*
Packit caecb6
 * Copyright (C) 2018 Richard Hughes <richard@hughsie.com>
Packit caecb6
 *
Packit caecb6
 * SPDX-License-Identifier: LGPL-2.1+
Packit caecb6
 */
Packit caecb6
Packit caecb6
#pragma once
Packit caecb6
Packit caecb6
#include <gio/gio.h>
Packit caecb6
Packit caecb6
#include "xb-builder-fixup.h"
Packit caecb6
#include "xb-builder-source.h"
Packit caecb6
#include "xb-builder-node.h"
Packit caecb6
#include "xb-silo.h"
Packit caecb6
Packit caecb6
G_BEGIN_DECLS
Packit caecb6
Packit caecb6
#define XB_TYPE_BUILDER (xb_builder_get_type ())
Packit caecb6
Packit caecb6
G_DECLARE_DERIVABLE_TYPE (XbBuilder, xb_builder, XB, BUILDER, GObject)
Packit caecb6
Packit caecb6
struct _XbBuilderClass {
Packit caecb6
	GObjectClass			 parent_class;
Packit caecb6
	/*< private >*/
Packit caecb6
	void (*_xb_reserved1)		(void);
Packit caecb6
	void (*_xb_reserved2)		(void);
Packit caecb6
	void (*_xb_reserved3)		(void);
Packit caecb6
	void (*_xb_reserved4)		(void);
Packit caecb6
	void (*_xb_reserved5)		(void);
Packit caecb6
	void (*_xb_reserved6)		(void);
Packit caecb6
	void (*_xb_reserved7)		(void);
Packit caecb6
};
Packit caecb6
Packit caecb6
/**
Packit caecb6
 * XbBuilderCompileFlags:
Packit caecb6
 * @XB_BUILDER_COMPILE_FLAG_NONE:		No extra flags to use
Packit caecb6
 * @XB_BUILDER_COMPILE_FLAG_NATIVE_LANGS:	Only load native languages
Packit caecb6
 * @XB_BUILDER_COMPILE_FLAG_IGNORE_INVALID:	Ignore invalid files without an error
Packit caecb6
 * @XB_BUILDER_COMPILE_FLAG_SINGLE_LANG:	Only store a single language
Packit caecb6
 * @XB_BUILDER_COMPILE_FLAG_WATCH_BLOB:		Watch the XMLB file for changes
Packit caecb6
 * @XB_BUILDER_COMPILE_FLAG_IGNORE_GUID:	Ignore the cache GUID value
Packit caecb6
 *
Packit caecb6
 * The flags for converting to XML.
Packit caecb6
 **/
Packit caecb6
typedef enum {
Packit caecb6
	XB_BUILDER_COMPILE_FLAG_NONE		= 0,		/* Since: 0.1.0 */
Packit caecb6
	XB_BUILDER_COMPILE_FLAG_NATIVE_LANGS	= 1 << 1,	/* Since: 0.1.0 */
Packit caecb6
	XB_BUILDER_COMPILE_FLAG_IGNORE_INVALID	= 1 << 2,	/* Since: 0.1.0 */
Packit caecb6
	XB_BUILDER_COMPILE_FLAG_SINGLE_LANG	= 1 << 3,	/* Since: 0.1.0 */
Packit caecb6
	XB_BUILDER_COMPILE_FLAG_WATCH_BLOB	= 1 << 4,	/* Since: 0.1.0 */
Packit caecb6
	XB_BUILDER_COMPILE_FLAG_IGNORE_GUID	= 1 << 5,	/* Since: 0.1.7 */
Packit caecb6
	/*< private >*/
Packit caecb6
	XB_BUILDER_COMPILE_FLAG_LAST
Packit caecb6
} XbBuilderCompileFlags;
Packit caecb6
Packit caecb6
XbBuilder	*xb_builder_new			(void);
Packit caecb6
void		 xb_builder_append_guid		(XbBuilder		*self,
Packit caecb6
						 const gchar		*guid);
Packit caecb6
void		 xb_builder_import_source	(XbBuilder		*self,
Packit caecb6
						 XbBuilderSource	*source);
Packit caecb6
void		 xb_builder_import_node		(XbBuilder		*self,
Packit caecb6
						 XbBuilderNode		*bn);
Packit caecb6
XbSilo		*xb_builder_compile		(XbBuilder		*self,
Packit caecb6
						 XbBuilderCompileFlags	 flags,
Packit caecb6
						 GCancellable		*cancellable,
Packit caecb6
						 GError			**error);
Packit caecb6
XbSilo		*xb_builder_ensure		(XbBuilder		*self,
Packit caecb6
						 GFile			*file,
Packit caecb6
						 XbBuilderCompileFlags	 flags,
Packit caecb6
						 GCancellable		*cancellable,
Packit caecb6
						 GError			**error);
Packit caecb6
void		 xb_builder_add_locale		(XbBuilder		*self,
Packit caecb6
						 const gchar		*locale);
Packit caecb6
void		 xb_builder_add_fixup		(XbBuilder		*self,
Packit caecb6
						 XbBuilderFixup		*fixup);
Packit caecb6
void		 xb_builder_set_profile_flags	(XbBuilder		*self,
Packit caecb6
						 XbSiloProfileFlags	 profile_flags);
Packit caecb6
Packit caecb6
G_END_DECLS