/* Generated by GOB (v2.0.15)   (do not edit directly) */

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


#include "mn-mailbox.h"

#ifndef __MN_MAILBOXES_H__
#define __MN_MAILBOXES_H__

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */


/*
 * Type checking and casting macros
 */
#define MN_TYPE_MAILBOXES	(mn_mailboxes_get_type())
#define MN_MAILBOXES(obj)	G_TYPE_CHECK_INSTANCE_CAST((obj), mn_mailboxes_get_type(), MNMailboxes)
#define MN_MAILBOXES_CONST(obj)	G_TYPE_CHECK_INSTANCE_CAST((obj), mn_mailboxes_get_type(), MNMailboxes const)
#define MN_MAILBOXES_CLASS(klass)	G_TYPE_CHECK_CLASS_CAST((klass), mn_mailboxes_get_type(), MNMailboxesClass)
#define MN_IS_MAILBOXES(obj)	G_TYPE_CHECK_INSTANCE_TYPE((obj), mn_mailboxes_get_type ())

#define MN_MAILBOXES_GET_CLASS(obj)	G_TYPE_INSTANCE_GET_CLASS((obj), mn_mailboxes_get_type(), MNMailboxesClass)

/* Private structure type */
typedef struct _MNMailboxesPrivate MNMailboxesPrivate;

/*
 * Main object structure
 */
#ifndef __TYPEDEF_MN_MAILBOXES__
#define __TYPEDEF_MN_MAILBOXES__
typedef struct _MNMailboxes MNMailboxes;
#endif
struct _MNMailboxes {
	GObject __parent__;
	/*< public >*/
	GList * list;
	GPtrArray * messages;
	GHashTable * messages_hash_table;
	gboolean must_save_after_load;
	/*< private >*/
	MNMailboxesPrivate *_priv;
};

/*
 * Class definition
 */
typedef struct _MNMailboxesClass MNMailboxesClass;
struct _MNMailboxesClass {
	GObjectClass __parent__;
	/*signal*/void (* mailbox_added) (MNMailboxes * self, MNMailbox * mailbox);
	/*signal*/void (* mailbox_removed) (MNMailboxes * self, MNMailbox * mailbox);
	/*signal*/void (* mailbox_notify) (MNMailboxes * self, MNMailbox * mailbox, GParamSpec * pspec);
	/*signal*/void (* list_changed) (MNMailboxes * self);
	/*signal*/void (* messages_changed) (MNMailboxes * self, gboolean has_new);
	/*signal*/void (* error_changed) (MNMailboxes * self);
};


/*
 * Public methods
 */
GType	mn_mailboxes_get_type	(void) G_GNUC_CONST;
#line 185 "src/mn-mailboxes.gob"
gboolean 	mn_mailboxes_get_manually_checkable	(MNMailboxes * self);
#line 71 "mn-mailboxes.h"
#line 597 "src/mn-mailboxes.gob"
void 	mn_mailboxes_check	(MNMailboxes * self);
#line 74 "mn-mailboxes.h"
#line 619 "src/mn-mailboxes.gob"
void 	mn_mailboxes_add	(MNMailboxes * self,
					MNMailbox * mailbox);
#line 78 "mn-mailboxes.h"
#line 629 "src/mn-mailboxes.gob"
void 	mn_mailboxes_queue_add	(MNMailboxes * self,
					MNMailbox * mailbox);
#line 82 "mn-mailboxes.h"
#line 647 "src/mn-mailboxes.gob"
void 	mn_mailboxes_remove	(MNMailboxes * self,
					MNMailbox * mailbox);
#line 86 "mn-mailboxes.h"
#line 656 "src/mn-mailboxes.gob"
void 	mn_mailboxes_queue_remove	(MNMailboxes * self,
					MNMailbox * mailbox);
#line 90 "mn-mailboxes.h"
#line 689 "src/mn-mailboxes.gob"
int 	mn_mailboxes_compare_by_name_func	(gconstpointer a,
					gconstpointer b);
#line 94 "mn-mailboxes.h"
#line 698 "src/mn-mailboxes.gob"
MNMailboxes * 	mn_mailboxes_new	(void);
#line 97 "mn-mailboxes.h"

/*
 * Signal connection wrapper macros
 */
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
#define mn_mailboxes_connect__mailbox_added(object,func,data)	g_signal_connect(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"mailbox_added",(GCallback) __extension__ ({void (* ___mailbox_added) (MNMailboxes * ___fake___self, MNMailbox * ___fake___mailbox, gpointer ___data ) = (func); ___mailbox_added; }), (data))
#define mn_mailboxes_connect_after__mailbox_added(object,func,data)	g_signal_connect_after(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"mailbox_added",(GCallback) __extension__ ({void (* ___mailbox_added) (MNMailboxes * ___fake___self, MNMailbox * ___fake___mailbox, gpointer ___data ) = (func); ___mailbox_added; }), (data))
#define mn_mailboxes_connect_data__mailbox_added(object,func,data,destroy_data,flags)	g_signal_connect_data(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"mailbox_added",(GCallback) __extension__ ({void (* ___mailbox_added) (MNMailboxes * ___fake___self, MNMailbox * ___fake___mailbox, gpointer ___data ) = (func); ___mailbox_added; }), (data), (destroy_data), (GConnectFlags)(flags))
#define mn_mailboxes_connect__mailbox_removed(object,func,data)	g_signal_connect(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"mailbox_removed",(GCallback) __extension__ ({void (* ___mailbox_removed) (MNMailboxes * ___fake___self, MNMailbox * ___fake___mailbox, gpointer ___data ) = (func); ___mailbox_removed; }), (data))
#define mn_mailboxes_connect_after__mailbox_removed(object,func,data)	g_signal_connect_after(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"mailbox_removed",(GCallback) __extension__ ({void (* ___mailbox_removed) (MNMailboxes * ___fake___self, MNMailbox * ___fake___mailbox, gpointer ___data ) = (func); ___mailbox_removed; }), (data))
#define mn_mailboxes_connect_data__mailbox_removed(object,func,data,destroy_data,flags)	g_signal_connect_data(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"mailbox_removed",(GCallback) __extension__ ({void (* ___mailbox_removed) (MNMailboxes * ___fake___self, MNMailbox * ___fake___mailbox, gpointer ___data ) = (func); ___mailbox_removed; }), (data), (destroy_data), (GConnectFlags)(flags))
#define mn_mailboxes_connect__mailbox_notify(object,func,data)	g_signal_connect(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"mailbox_notify",(GCallback) __extension__ ({void (* ___mailbox_notify) (MNMailboxes * ___fake___self, MNMailbox * ___fake___mailbox, GParamSpec * ___fake___pspec, gpointer ___data ) = (func); ___mailbox_notify; }), (data))
#define mn_mailboxes_connect_after__mailbox_notify(object,func,data)	g_signal_connect_after(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"mailbox_notify",(GCallback) __extension__ ({void (* ___mailbox_notify) (MNMailboxes * ___fake___self, MNMailbox * ___fake___mailbox, GParamSpec * ___fake___pspec, gpointer ___data ) = (func); ___mailbox_notify; }), (data))
#define mn_mailboxes_connect_data__mailbox_notify(object,func,data,destroy_data,flags)	g_signal_connect_data(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"mailbox_notify",(GCallback) __extension__ ({void (* ___mailbox_notify) (MNMailboxes * ___fake___self, MNMailbox * ___fake___mailbox, GParamSpec * ___fake___pspec, gpointer ___data ) = (func); ___mailbox_notify; }), (data), (destroy_data), (GConnectFlags)(flags))
#define mn_mailboxes_connect__list_changed(object,func,data)	g_signal_connect(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"list_changed",(GCallback) __extension__ ({void (* ___list_changed) (MNMailboxes * ___fake___self, gpointer ___data ) = (func); ___list_changed; }), (data))
#define mn_mailboxes_connect_after__list_changed(object,func,data)	g_signal_connect_after(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"list_changed",(GCallback) __extension__ ({void (* ___list_changed) (MNMailboxes * ___fake___self, gpointer ___data ) = (func); ___list_changed; }), (data))
#define mn_mailboxes_connect_data__list_changed(object,func,data,destroy_data,flags)	g_signal_connect_data(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"list_changed",(GCallback) __extension__ ({void (* ___list_changed) (MNMailboxes * ___fake___self, gpointer ___data ) = (func); ___list_changed; }), (data), (destroy_data), (GConnectFlags)(flags))
#define mn_mailboxes_connect__messages_changed(object,func,data)	g_signal_connect(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"messages_changed",(GCallback) __extension__ ({void (* ___messages_changed) (MNMailboxes * ___fake___self, gboolean ___fake___has_new, gpointer ___data ) = (func); ___messages_changed; }), (data))
#define mn_mailboxes_connect_after__messages_changed(object,func,data)	g_signal_connect_after(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"messages_changed",(GCallback) __extension__ ({void (* ___messages_changed) (MNMailboxes * ___fake___self, gboolean ___fake___has_new, gpointer ___data ) = (func); ___messages_changed; }), (data))
#define mn_mailboxes_connect_data__messages_changed(object,func,data,destroy_data,flags)	g_signal_connect_data(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"messages_changed",(GCallback) __extension__ ({void (* ___messages_changed) (MNMailboxes * ___fake___self, gboolean ___fake___has_new, gpointer ___data ) = (func); ___messages_changed; }), (data), (destroy_data), (GConnectFlags)(flags))
#define mn_mailboxes_connect__error_changed(object,func,data)	g_signal_connect(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"error_changed",(GCallback) __extension__ ({void (* ___error_changed) (MNMailboxes * ___fake___self, gpointer ___data ) = (func); ___error_changed; }), (data))
#define mn_mailboxes_connect_after__error_changed(object,func,data)	g_signal_connect_after(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"error_changed",(GCallback) __extension__ ({void (* ___error_changed) (MNMailboxes * ___fake___self, gpointer ___data ) = (func); ___error_changed; }), (data))
#define mn_mailboxes_connect_data__error_changed(object,func,data,destroy_data,flags)	g_signal_connect_data(MN_MAILBOXES(__extension__ ({MNMailboxes *___object = (object); ___object; })),"error_changed",(GCallback) __extension__ ({void (* ___error_changed) (MNMailboxes * ___fake___self, gpointer ___data ) = (func); ___error_changed; }), (data), (destroy_data), (GConnectFlags)(flags))
#else /* __GNUC__ && !__STRICT_ANSI__ */
#define mn_mailboxes_connect__mailbox_added(object,func,data)	g_signal_connect(MN_MAILBOXES(object),"mailbox_added",(GCallback)(func),(data))
#define mn_mailboxes_connect_after__mailbox_added(object,func,data)	g_signal_connect_after(MN_MAILBOXES(object),"mailbox_added",(GCallback)(func),(data))
#define mn_mailboxes_connect_data__mailbox_added(object,func,data,destroy_data,flags)	g_signal_connect_data(MN_MAILBOXES(object),"mailbox_added",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags))
#define mn_mailboxes_connect__mailbox_removed(object,func,data)	g_signal_connect(MN_MAILBOXES(object),"mailbox_removed",(GCallback)(func),(data))
#define mn_mailboxes_connect_after__mailbox_removed(object,func,data)	g_signal_connect_after(MN_MAILBOXES(object),"mailbox_removed",(GCallback)(func),(data))
#define mn_mailboxes_connect_data__mailbox_removed(object,func,data,destroy_data,flags)	g_signal_connect_data(MN_MAILBOXES(object),"mailbox_removed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags))
#define mn_mailboxes_connect__mailbox_notify(object,func,data)	g_signal_connect(MN_MAILBOXES(object),"mailbox_notify",(GCallback)(func),(data))
#define mn_mailboxes_connect_after__mailbox_notify(object,func,data)	g_signal_connect_after(MN_MAILBOXES(object),"mailbox_notify",(GCallback)(func),(data))
#define mn_mailboxes_connect_data__mailbox_notify(object,func,data,destroy_data,flags)	g_signal_connect_data(MN_MAILBOXES(object),"mailbox_notify",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags))
#define mn_mailboxes_connect__list_changed(object,func,data)	g_signal_connect(MN_MAILBOXES(object),"list_changed",(GCallback)(func),(data))
#define mn_mailboxes_connect_after__list_changed(object,func,data)	g_signal_connect_after(MN_MAILBOXES(object),"list_changed",(GCallback)(func),(data))
#define mn_mailboxes_connect_data__list_changed(object,func,data,destroy_data,flags)	g_signal_connect_data(MN_MAILBOXES(object),"list_changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags))
#define mn_mailboxes_connect__messages_changed(object,func,data)	g_signal_connect(MN_MAILBOXES(object),"messages_changed",(GCallback)(func),(data))
#define mn_mailboxes_connect_after__messages_changed(object,func,data)	g_signal_connect_after(MN_MAILBOXES(object),"messages_changed",(GCallback)(func),(data))
#define mn_mailboxes_connect_data__messages_changed(object,func,data,destroy_data,flags)	g_signal_connect_data(MN_MAILBOXES(object),"messages_changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags))
#define mn_mailboxes_connect__error_changed(object,func,data)	g_signal_connect(MN_MAILBOXES(object),"error_changed",(GCallback)(func),(data))
#define mn_mailboxes_connect_after__error_changed(object,func,data)	g_signal_connect_after(MN_MAILBOXES(object),"error_changed",(GCallback)(func),(data))
#define mn_mailboxes_connect_data__error_changed(object,func,data,destroy_data,flags)	g_signal_connect_data(MN_MAILBOXES(object),"error_changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags))
#endif /* __GNUC__ && !__STRICT_ANSI__ */


/*
 * Argument wrapping macros
 */
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
#define MN_MAILBOXES_GET_PROP_MANUALLY_CHECKABLE(arg)	"manually_checkable", __extension__ ({gboolean *z = (arg); z;})
#else /* __GNUC__ && !__STRICT_ANSI__ */
#define MN_MAILBOXES_GET_PROP_MANUALLY_CHECKABLE(arg)	"manually_checkable",(gboolean *)(arg)
#endif /* __GNUC__ && !__STRICT_ANSI__ */


#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif
