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

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


#include <gtk/gtk.h>
#include <dbus/dbus-glib.h>
#include "mn-mailboxes.h"
#include "mn-mailbox-properties-dialog.h"
#include "mn-mail-icon.h"
#include "mn-popups.h"

#ifndef __MN_SHELL_H__
#define __MN_SHELL_H__

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


typedef enum {
	MN_SHELL_TOOLTIP_MAIL_SUMMARY_STANDARD,
	MN_SHELL_TOOLTIP_MAIL_SUMMARY_COMPACT,
	MN_SHELL_TOOLTIP_MAIL_SUMMARY_NONE
} MNShellTooltipMailSummary;
#define MN_TYPE_SHELL_TOOLTIP_MAIL_SUMMARY mn_shell_tooltip_mail_summary_get_type()
GType mn_shell_tooltip_mail_summary_get_type (void);


/*
 * Type checking and casting macros
 */
#define MN_TYPE_SHELL	(mn_shell_get_type())
#define MN_SHELL(obj)	G_TYPE_CHECK_INSTANCE_CAST((obj), mn_shell_get_type(), MNShell)
#define MN_SHELL_CONST(obj)	G_TYPE_CHECK_INSTANCE_CAST((obj), mn_shell_get_type(), MNShell const)
#define MN_SHELL_CLASS(klass)	G_TYPE_CHECK_CLASS_CAST((klass), mn_shell_get_type(), MNShellClass)
#define MN_IS_SHELL(obj)	G_TYPE_CHECK_INSTANCE_TYPE((obj), mn_shell_get_type ())

#define MN_SHELL_GET_CLASS(obj)	G_TYPE_INSTANCE_GET_CLASS((obj), mn_shell_get_type(), MNShellClass)

/* Private structure type */
typedef struct _MNShellPrivate MNShellPrivate;

/*
 * Main object structure
 */
#ifndef __TYPEDEF_MN_SHELL__
#define __TYPEDEF_MN_SHELL__
typedef struct _MNShell MNShell;
#endif
struct _MNShell {
	GObject __parent__;
	/*< public >*/
	MNMailboxes * mailboxes;
	MNMailIcon * icon;
	MNPopups * popups;
	DBusGConnection * session_bus;
	DBusGProxy * session_bus_proxy;
	/*< private >*/
	MNShellPrivate *_priv;
};

/*
 * Class definition
 */
typedef struct _MNShellClass MNShellClass;
struct _MNShellClass {
	GObjectClass __parent__;
};


/*
 * Public methods
 */
GType	mn_shell_get_type	(void) G_GNUC_CONST;
#line 799 "src/mn-shell.gob"
MNShell * 	mn_shell_new	(DBusGConnection * session_bus,
					DBusGProxy * session_bus_proxy);
#line 81 "mn-shell.h"
#line 808 "src/mn-shell.gob"
void 	mn_shell_consider_new_mail_as_read	(MNShell * self);
#line 84 "mn-shell.h"
#line 824 "src/mn-shell.gob"
void 	mn_shell_update	(MNShell * self);
#line 87 "mn-shell.h"
#line 830 "src/mn-shell.gob"
void 	mn_shell_quit	(MNShell * self);
#line 90 "mn-shell.h"
#line 836 "src/mn-shell.gob"
void 	mn_shell_show_properties_dialog	(MNShell * self,
					guint32 timestamp);
#line 94 "mn-shell.h"
#line 842 "src/mn-shell.gob"
void 	mn_shell_show_about_dialog	(MNShell * self,
					guint32 timestamp);
#line 98 "mn-shell.h"
#line 869 "src/mn-shell.gob"
void 	mn_shell_add_mailbox_properties_dialog	(MNShell * self,
					MNMailboxPropertiesDialog * dialog);
#line 102 "mn-shell.h"
#line 885 "src/mn-shell.gob"
MNMailboxPropertiesDialog * 	mn_shell_get_mailbox_properties_dialog	(MNShell * self,
					MNMailbox * mailbox);
#line 106 "mn-shell.h"
#line 907 "src/mn-shell.gob"
char * 	mn_shell_get_summary	(MNShell * self);
#line 109 "mn-shell.h"

/*
 * Argument wrapping macros
 */
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
#define MN_SHELL_PROP_SESSION_BUS(arg)    	"session_bus", __extension__ ({DBusGConnection * z = (arg); z;})
#define MN_SHELL_GET_PROP_SESSION_BUS(arg)	"session_bus", __extension__ ({DBusGConnection * *z = (arg); z;})
#define MN_SHELL_PROP_SESSION_BUS_PROXY(arg)    	"session_bus_proxy", __extension__ ({DBusGProxy * z = (arg); z;})
#define MN_SHELL_GET_PROP_SESSION_BUS_PROXY(arg)	"session_bus_proxy", __extension__ ({DBusGProxy * *z = (arg); z;})
#else /* __GNUC__ && !__STRICT_ANSI__ */
#define MN_SHELL_PROP_SESSION_BUS(arg)    	"session_bus",(DBusGConnection * )(arg)
#define MN_SHELL_GET_PROP_SESSION_BUS(arg)	"session_bus",(DBusGConnection * *)(arg)
#define MN_SHELL_PROP_SESSION_BUS_PROXY(arg)    	"session_bus_proxy",(DBusGProxy * )(arg)
#define MN_SHELL_GET_PROP_SESSION_BUS_PROXY(arg)	"session_bus_proxy",(DBusGProxy * *)(arg)
#endif /* __GNUC__ && !__STRICT_ANSI__ */



extern MNShell *mn_shell;


typedef enum {
	MN_ACTION_LAUNCH_MAIL_READER,
	MN_ACTION_OPEN_LATEST_MESSAGE,
	MN_ACTION_CONSIDER_NEW_MAIL_AS_READ,
	MN_ACTION_UPDATE_MAIL_STATUS
} MNAction;
#define MN_TYPE_ACTION mn_action_get_type()
GType mn_action_get_type (void);


typedef enum {
	MN_EXPIRATION_ENABLED_DEFAULT,
	MN_EXPIRATION_ENABLED_FALSE,
	MN_EXPIRATION_ENABLED_TRUE
} MNExpirationEnabled;
#define MN_TYPE_EXPIRATION_ENABLED mn_expiration_enabled_get_type()
GType mn_expiration_enabled_get_type (void);


typedef enum {
	MN_POPUP_POSITION_ATTACHED,
	MN_POPUP_POSITION_FREE
} MNPopupPosition;
#define MN_TYPE_POPUP_POSITION mn_popup_position_get_type()
GType mn_popup_position_get_type (void);


#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif
