/*
* Copyright (C) 2018 Richard Hughes <richard@hughsie.com>
*
* SPDX-License-Identifier: LGPL-2.1+
*/
#pragma once
#include <gio/gio.h>
#include "xb-builder-node.h"
G_BEGIN_DECLS
#define XB_TYPE_BUILDER_FIXUP (xb_builder_fixup_get_type ())
G_DECLARE_DERIVABLE_TYPE (XbBuilderFixup, xb_builder_fixup, XB, BUILDER_FIXUP, GObject)
struct _XbBuilderFixupClass {
GObjectClass parent_class;
/*< private >*/
void (*_xb_reserved1) (void);
void (*_xb_reserved2) (void);
void (*_xb_reserved3) (void);
void (*_xb_reserved4) (void);
void (*_xb_reserved5) (void);
void (*_xb_reserved6) (void);
void (*_xb_reserved7) (void);
};
typedef gboolean (*XbBuilderFixupFunc) (XbBuilderFixup *self,
XbBuilderNode *bn,
gpointer user_data,
GError **error);
XbBuilderFixup *xb_builder_fixup_new (const gchar *id,
XbBuilderFixupFunc func,
gpointer user_data,
GDestroyNotify user_data_free);
gint xb_builder_fixup_get_max_depth (XbBuilderFixup *self);
void xb_builder_fixup_set_max_depth (XbBuilderFixup *self,
gint max_depth);
G_END_DECLS