/* xmlbird.h generated by valac 0.28.0, the Vala compiler, do not modify */


#ifndef __BUILD_XMLBIRD_H__
#define __BUILD_XMLBIRD_H__

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>

G_BEGIN_DECLS


#define B_TYPE_ATTRIBUTES (b_attributes_get_type ())
#define B_ATTRIBUTES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), B_TYPE_ATTRIBUTES, BAttributes))
#define B_ATTRIBUTES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), B_TYPE_ATTRIBUTES, BAttributesClass))
#define B_IS_ATTRIBUTES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), B_TYPE_ATTRIBUTES))
#define B_IS_ATTRIBUTES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), B_TYPE_ATTRIBUTES))
#define B_ATTRIBUTES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), B_TYPE_ATTRIBUTES, BAttributesClass))

typedef struct _BAttributes BAttributes;
typedef struct _BAttributesClass BAttributesClass;
typedef struct _BAttributesPrivate BAttributesPrivate;

#define B_ATTRIBUTES_TYPE_ITERATOR (b_attributes_iterator_get_type ())
#define B_ATTRIBUTES_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), B_ATTRIBUTES_TYPE_ITERATOR, BAttributesIterator))
#define B_ATTRIBUTES_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), B_ATTRIBUTES_TYPE_ITERATOR, BAttributesIteratorClass))
#define B_ATTRIBUTES_IS_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), B_ATTRIBUTES_TYPE_ITERATOR))
#define B_ATTRIBUTES_IS_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), B_ATTRIBUTES_TYPE_ITERATOR))
#define B_ATTRIBUTES_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), B_ATTRIBUTES_TYPE_ITERATOR, BAttributesIteratorClass))

typedef struct _BAttributesIterator BAttributesIterator;
typedef struct _BAttributesIteratorClass BAttributesIteratorClass;
typedef struct _BAttributesIteratorPrivate BAttributesIteratorPrivate;

#define B_TYPE_ATTRIBUTE (b_attribute_get_type ())
#define B_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), B_TYPE_ATTRIBUTE, BAttribute))
#define B_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), B_TYPE_ATTRIBUTE, BAttributeClass))
#define B_IS_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), B_TYPE_ATTRIBUTE))
#define B_IS_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), B_TYPE_ATTRIBUTE))
#define B_ATTRIBUTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), B_TYPE_ATTRIBUTE, BAttributeClass))

typedef struct _BAttribute BAttribute;
typedef struct _BAttributeClass BAttributeClass;

#define B_TYPE_XML_PARSER (b_xml_parser_get_type ())
#define B_XML_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), B_TYPE_XML_PARSER, BXmlParser))
#define B_XML_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), B_TYPE_XML_PARSER, BXmlParserClass))
#define B_IS_XML_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), B_TYPE_XML_PARSER))
#define B_IS_XML_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), B_TYPE_XML_PARSER))
#define B_XML_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), B_TYPE_XML_PARSER, BXmlParserClass))

typedef struct _BXmlParser BXmlParser;
typedef struct _BXmlParserClass BXmlParserClass;
typedef struct _BXmlParserPrivate BXmlParserPrivate;

#define B_TYPE_TAG (b_tag_get_type ())
#define B_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), B_TYPE_TAG, BTag))
#define B_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), B_TYPE_TAG, BTagClass))
#define B_IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), B_TYPE_TAG))
#define B_IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), B_TYPE_TAG))
#define B_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), B_TYPE_TAG, BTagClass))

typedef struct _BTag BTag;
typedef struct _BTagClass BTagClass;
typedef struct _BAttributePrivate BAttributePrivate;
typedef struct _BTagPrivate BTagPrivate;

#define B_TYPE_XML_STRING (b_xml_string_get_type ())
#define B_XML_STRING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), B_TYPE_XML_STRING, BXmlString))
#define B_XML_STRING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), B_TYPE_XML_STRING, BXmlStringClass))
#define B_IS_XML_STRING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), B_TYPE_XML_STRING))
#define B_IS_XML_STRING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), B_TYPE_XML_STRING))
#define B_XML_STRING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), B_TYPE_XML_STRING, BXmlStringClass))

typedef struct _BXmlString BXmlString;
typedef struct _BXmlStringClass BXmlStringClass;

#define B_TYPE_XML_DATA (b_xml_data_get_type ())
#define B_XML_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), B_TYPE_XML_DATA, BXmlData))
#define B_XML_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), B_TYPE_XML_DATA, BXmlDataClass))
#define B_IS_XML_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), B_TYPE_XML_DATA))
#define B_IS_XML_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), B_TYPE_XML_DATA))
#define B_XML_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), B_TYPE_XML_DATA, BXmlDataClass))

typedef struct _BXmlData BXmlData;
typedef struct _BXmlDataClass BXmlDataClass;

#define B_TAG_TYPE_ITERATOR (b_tag_iterator_get_type ())
#define B_TAG_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), B_TAG_TYPE_ITERATOR, BTagIterator))
#define B_TAG_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), B_TAG_TYPE_ITERATOR, BTagIteratorClass))
#define B_TAG_IS_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), B_TAG_TYPE_ITERATOR))
#define B_TAG_IS_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), B_TAG_TYPE_ITERATOR))
#define B_TAG_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), B_TAG_TYPE_ITERATOR, BTagIteratorClass))

typedef struct _BTagIterator BTagIterator;
typedef struct _BTagIteratorClass BTagIteratorClass;
typedef struct _BTagIteratorPrivate BTagIteratorPrivate;

struct _BAttributes {
	GObject parent_instance;
	BAttributesPrivate * priv;
};

struct _BAttributesClass {
	GObjectClass parent_class;
};

struct _BAttributesIterator {
	GObject parent_instance;
	BAttributesIteratorPrivate * priv;
};

struct _BAttributesIteratorClass {
	GObjectClass parent_class;
};

struct _BXmlParser {
	GObject parent_instance;
	BXmlParserPrivate * priv;
};

struct _BXmlParserClass {
	GObjectClass parent_class;
};

struct _BAttribute {
	GObject parent_instance;
	BAttributePrivate * priv;
};

struct _BAttributeClass {
	GObjectClass parent_class;
};

struct _BTag {
	GObject parent_instance;
	BTagPrivate * priv;
	BXmlData* entire_file;
	gboolean error;
	gint log_level;
};

struct _BTagClass {
	GObjectClass parent_class;
};

struct _BTagIterator {
	GObject parent_instance;
	BTagIteratorPrivate * priv;
};

struct _BTagIteratorClass {
	GObjectClass parent_class;
};


GType b_attributes_get_type (void) G_GNUC_CONST;
GType b_attributes_iterator_get_type (void) G_GNUC_CONST;
BAttributesIterator* b_attributes_iterator (BAttributes* self);
gboolean b_attributes_iterator_next (BAttributesIterator* self);
GType b_attribute_get_type (void) G_GNUC_CONST;
BAttribute* b_attributes_iterator_get (BAttributesIterator* self);
GType b_xml_parser_get_type (void) G_GNUC_CONST;
BXmlParser* b_xml_parser_new (const gchar* data);
BXmlParser* b_xml_parser_construct (GType object_type, const gchar* data);
gboolean b_xml_parser_validate (BXmlParser* self);
GType b_tag_get_type (void) G_GNUC_CONST;
BTag* b_xml_parser_get_root_tag (BXmlParser* self);
gchar* b_xml_parser_decode (const gchar* s);
gchar* b_xml_parser_encode (const gchar* s);
gchar* b_attribute_get_namespace (BAttribute* self);
gchar* b_attribute_get_name (BAttribute* self);
gchar* b_attribute_get_content (BAttribute* self);
GType b_xml_string_get_type (void) G_GNUC_CONST;
GType b_xml_data_get_type (void) G_GNUC_CONST;
BAttributes* b_tag_get_attributes (BTag* self);
GType b_tag_iterator_get_type (void) G_GNUC_CONST;
BTagIterator* b_tag_iterator (BTag* self);
void b_tag_reparse (BTag* self);
gchar* b_tag_get_name (BTag* self);
gchar* b_tag_get_content (BTag* self);
gboolean b_tag_iterator_next (BTagIterator* self);
BTag* b_tag_iterator_get (BTagIterator* self);


G_END_DECLS

#endif
