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

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


#include <gnome-keyring.h>
#include "mn-mailbox.h"

#ifndef __MN_AUTHENTICATED_MAILBOX_H__
#define __MN_AUTHENTICATED_MAILBOX_H__

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


/*
 * Type checking and casting macros
 */
#define MN_TYPE_AUTHENTICATED_MAILBOX	(mn_authenticated_mailbox_get_type())
#define MN_AUTHENTICATED_MAILBOX(obj)	G_TYPE_CHECK_INSTANCE_CAST((obj), mn_authenticated_mailbox_get_type(), MNAuthenticatedMailbox)
#define MN_AUTHENTICATED_MAILBOX_CONST(obj)	G_TYPE_CHECK_INSTANCE_CAST((obj), mn_authenticated_mailbox_get_type(), MNAuthenticatedMailbox const)
#define MN_AUTHENTICATED_MAILBOX_CLASS(klass)	G_TYPE_CHECK_CLASS_CAST((klass), mn_authenticated_mailbox_get_type(), MNAuthenticatedMailboxClass)
#define MN_IS_AUTHENTICATED_MAILBOX(obj)	G_TYPE_CHECK_INSTANCE_TYPE((obj), mn_authenticated_mailbox_get_type ())

#define MN_AUTHENTICATED_MAILBOX_GET_CLASS(obj)	G_TYPE_INSTANCE_GET_CLASS((obj), mn_authenticated_mailbox_get_type(), MNAuthenticatedMailboxClass)

/* Private structure type */
typedef struct _MNAuthenticatedMailboxPrivate MNAuthenticatedMailboxPrivate;

/*
 * Main object structure
 */
#ifndef __TYPEDEF_MN_AUTHENTICATED_MAILBOX__
#define __TYPEDEF_MN_AUTHENTICATED_MAILBOX__
typedef struct _MNAuthenticatedMailbox MNAuthenticatedMailbox;
#endif
struct _MNAuthenticatedMailbox {
	MNMailbox __parent__;
	/*< public >*/
	char * username;
	char * password;
	char * runtime_password;
	/*< private >*/
	char * keyring_username; /* protected */
	char * keyring_domain; /* protected */
	char * keyring_server; /* protected */
	char * keyring_protocol; /* protected */
	char * keyring_authtype; /* protected */
	int keyring_port; /* protected */
	gboolean auth_prompted; /* protected */
	gboolean auth_cancelled; /* protected */
	gboolean auth_failed; /* protected */
	MNAuthenticatedMailboxPrivate *_priv;
};

/*
 * Class definition
 */
typedef struct _MNAuthenticatedMailboxClass MNAuthenticatedMailboxClass;
struct _MNAuthenticatedMailboxClass {
	MNMailboxClass __parent__;
	void (* authenticated_check) (MNAuthenticatedMailbox * self);
};


/*
 * Public methods
 */
GType	mn_authenticated_mailbox_get_type	(void) G_GNUC_CONST;
#line 71 "src/mn-authenticated-mailbox.gob"
gboolean 	mn_authenticated_mailbox_get_setting_password	(MNAuthenticatedMailbox * self);
#line 75 "mn-authenticated-mailbox.h"
#line 470 "src/mn-authenticated-mailbox.gob"
gpointer 	mn_authenticated_mailbox_get_password	(MNAuthenticatedMailbox * self,
					GnomeKeyringOperationGetListCallback cb,
					gpointer data);
#line 80 "mn-authenticated-mailbox.h"

/*
 * Argument wrapping macros
 */
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
#define MN_AUTHENTICATED_MAILBOX_PROP_USERNAME(arg)    	"username", __extension__ ({gchar *z = (arg); z;})
#define MN_AUTHENTICATED_MAILBOX_GET_PROP_USERNAME(arg)	"username", __extension__ ({gchar **z = (arg); z;})
#define MN_AUTHENTICATED_MAILBOX_PROP_PASSWORD(arg)    	"password", __extension__ ({gchar *z = (arg); z;})
#define MN_AUTHENTICATED_MAILBOX_GET_PROP_PASSWORD(arg)	"password", __extension__ ({gchar **z = (arg); z;})
#define MN_AUTHENTICATED_MAILBOX_GET_PROP_SETTING_PASSWORD(arg)	"setting_password", __extension__ ({gboolean *z = (arg); z;})
#else /* __GNUC__ && !__STRICT_ANSI__ */
#define MN_AUTHENTICATED_MAILBOX_PROP_USERNAME(arg)    	"username",(gchar *)(arg)
#define MN_AUTHENTICATED_MAILBOX_GET_PROP_USERNAME(arg)	"username",(gchar **)(arg)
#define MN_AUTHENTICATED_MAILBOX_PROP_PASSWORD(arg)    	"password",(gchar *)(arg)
#define MN_AUTHENTICATED_MAILBOX_GET_PROP_PASSWORD(arg)	"password",(gchar **)(arg)
#define MN_AUTHENTICATED_MAILBOX_GET_PROP_SETTING_PASSWORD(arg)	"setting_password",(gboolean *)(arg)
#endif /* __GNUC__ && !__STRICT_ANSI__ */


#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif
