/* Generated by GOB (v1.0.10)   (do not edit directly) */

#include <gtk/gtk.h>

#ifndef __GNOME_PILOT_CLIENT_H__
#define __GNOME_PILOT_CLIENT_H__

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



#include <config.h>
#include <stdio.h>
#include <gtk/gtkobject.h>
#ifdef USING_OAF
#include <liboaf/liboaf.h>
#else /* USING_OAF */
#include <libgnorba/gnorba.h>
#endif /* USING_OAF */
#include <gpilotd/gnome-pilot.h>

#ifdef WITH_VFS
#include <libgnomevfs/gnome-vfs.h>
#endif

enum GPilotdErrCode {
	GPILOTD_OK=0,
	GPILOTD_ERR_INVAL=-1,
	GPILOTD_ERR_NOT_CONNECTED=-2,
	GPILOTD_ERR_FAILED=-3,
	GPILOTD_ERR_INTERNAL=-4
};



/*
 * Type checking and casting macros
 */
#define GNOME_TYPE_PILOT_CLIENT	(gnome_pilot_client_get_type())
#define GNOME_PILOT_CLIENT(obj)	GTK_CHECK_CAST((obj), gnome_pilot_client_get_type(), GnomePilotClient)
#define GNOME_PILOT_CLIENT_CONST(obj)	GTK_CHECK_CAST((obj), gnome_pilot_client_get_type(), GnomePilotClient const)
#define GNOME_PILOT_CLIENT_CLASS(klass)	GTK_CHECK_CLASS_CAST((klass), gnome_pilot_client_get_type(), GnomePilotClientClass)
#define GNOME_IS_PILOT_CLIENT(obj)	GTK_CHECK_TYPE((obj), gnome_pilot_client_get_type ())

#ifdef GTK_CHECK_GET_CLASS
#define GNOME_PILOT_CLIENT_GET_CLASS(obj)	GTK_CHECK_GET_CLASS((obj), gnome_pilot_client_get_type(), GnomePilotClientClass)
#else /* !GTK_CHECK_GET_CLASS */
#define GNOME_PILOT_CLIENT_GET_CLASS(obj)	((GnomePilotClientClass *)GTK_OBJECT(obj)->klass)
#endif /* GTK_CHECK_GET_CLASS */

/*
 * Main object structure
 */
#ifndef __TYPEDEF_GNOME_PILOT_CLIENT__
#define __TYPEDEF_GNOME_PILOT_CLIENT__
typedef struct _GnomePilotClient GnomePilotClient;
#endif
struct _GnomePilotClient {
	GtkObject __parent__;
	/*< public >*/
	GNOME_Pilot_Daemon gpilotddaemon;
	GNOME_Pilot_Client gpilotdclient;
	CORBA_Environment ev;
	CORBA_char * client_id;
	CORBA_ORB orb;
};

/*
 * Class definition
 */
typedef struct _GnomePilotClientClass GnomePilotClientClass;
struct _GnomePilotClientClass {
	GtkObjectClass __parent__;
	/*signal*/void (* pilot_connect) (GnomePilotClient * self, const gchar * pilot_name, const GNOME_Pilot_UserInfo * userinfo);
	/*signal*/void (* pilot_disconnect) (GnomePilotClient * self, const gchar * pilot_name);
	/*signal*/void (* completed_request) (GnomePilotClient * self, const gchar * pilot_name, unsigned long request_id);
	/*signal*/void (* user_info) (GnomePilotClient * self, const gchar * device, const GNOME_Pilot_UserInfo * userinfo);
	/*signal*/void (* system_info) (GnomePilotClient * self, const gchar * device, const GNOME_Pilot_SysInfo * sysinfo);
	/*signal*/void (* start_conduit) (GnomePilotClient * self, const gchar * pilot_name, const gchar * conduit_name, const gchar * database);
	/*signal*/void (* end_conduit) (GnomePilotClient * self, const gchar * pilot_name, const gchar * conduit_name);
	/*signal*/void (* progress_conduit) (GnomePilotClient * self, const gchar * pilot_name, const gchar * conduit_name, guint current, guint total);
	/*signal*/void (* progress_overall) (GnomePilotClient * self, const gchar * pilot_name, guint current, guint total);
	/*signal*/void (* message_conduit) (GnomePilotClient * self, const gchar * pilot_name, const gchar * conduit_name, const gchar * message);
	/*signal*/void (* message_daemon) (GnomePilotClient * self, const gchar * pilot_name, const gchar * conduit_name, const gchar * message);
	/*signal*/void (* error_daemon) (GnomePilotClient * self, const gchar * pilot_name, const gchar * message);
	/*signal*/void (* error_conduit) (GnomePilotClient * self, const gchar * pilot_name, const gchar * conduit_name, const gchar * message);
	/*signal*/void (* daemon_pause) (GnomePilotClient * self, gboolean on_off);
};


/*
 * Public methods
 */
GtkType	gnome_pilot_client_get_type	(void) G_GNUC_CONST;
GtkObject * 	gnome_pilot_client_new	(void);
void 	gnome_pilot_client_destroy	(GnomePilotClient * self);
gint 	gnome_pilot_client_connect_to_daemon	(GnomePilotClient * self);
void 	gnome_pilot_client_pilot_connect	(GnomePilotClient * self,
					const gchar * pilot_name,
					const GNOME_Pilot_UserInfo * userinfo);
void 	gnome_pilot_client_pilot_disconnect	(GnomePilotClient * self,
					const gchar * pilot_name);
void 	gnome_pilot_client_completed_request	(GnomePilotClient * self,
					const gchar * pilot_name,
					unsigned long request_id);
void 	gnome_pilot_client_user_info	(GnomePilotClient * self,
					const gchar * device,
					const GNOME_Pilot_UserInfo * userinfo);
void 	gnome_pilot_client_system_info	(GnomePilotClient * self,
					const gchar * device,
					const GNOME_Pilot_SysInfo * sysinfo);
void 	gnome_pilot_client_start_conduit	(GnomePilotClient * self,
					const gchar * pilot_name,
					const gchar * conduit_name,
					const gchar * database);
void 	gnome_pilot_client_end_conduit	(GnomePilotClient * self,
					const gchar * pilot_name,
					const gchar * conduit_name);
void 	gnome_pilot_client_progress_conduit	(GnomePilotClient * self,
					const gchar * pilot_name,
					const gchar * conduit_name,
					guint current,
					guint total);
void 	gnome_pilot_client_progress_overall	(GnomePilotClient * self,
					const gchar * pilot_name,
					guint current,
					guint total);
void 	gnome_pilot_client_message_conduit	(GnomePilotClient * self,
					const gchar * pilot_name,
					const gchar * conduit_name,
					const gchar * message);
void 	gnome_pilot_client_message_daemon	(GnomePilotClient * self,
					const gchar * pilot_name,
					const gchar * conduit_name,
					const gchar * message);
void 	gnome_pilot_client_error_daemon	(GnomePilotClient * self,
					const gchar * pilot_name,
					const gchar * message);
void 	gnome_pilot_client_error_conduit	(GnomePilotClient * self,
					const gchar * pilot_name,
					const gchar * conduit_name,
					const gchar * message);
void 	gnome_pilot_client_daemon_pause	(GnomePilotClient * self,
					gboolean on_off);
gint 	gnome_pilot_client_pause_daemon	(GnomePilotClient * self);
gint 	gnome_pilot_client_unpause_daemon	(GnomePilotClient * self);
gint 	gnome_pilot_client_noop	(GnomePilotClient * self);
gint 	gnome_pilot_client_restart_daemon	(GnomePilotClient * self);
gint 	gnome_pilot_client_monitor_on	(GnomePilotClient * self,
					const gchar * pilot_id);
gint 	gnome_pilot_client_monitor_on_all_pilots	(GnomePilotClient * self);
gint 	gnome_pilot_client_monitor_off	(GnomePilotClient * self,
					const gchar * pilot_id);
gint 	gnome_pilot_client_monitor_off_all_pilots	(GnomePilotClient * self);
gint 	gnome_pilot_client_notify_on	(GnomePilotClient * self,
					GNOME_Pilot_EventType type);
gint 	gnome_pilot_client_notify_off	(GnomePilotClient * self,
					GNOME_Pilot_EventType type);
gint 	gnome_pilot_client_restore	(GnomePilotClient * self,
					const gchar * pilot_id,
					const gchar * directory,
					GNOME_Pilot_Survival survival,
					gint timeout,
					gint * handle);
gint 	gnome_pilot_client_install_file	(GnomePilotClient * self,
					const gchar * pilot_name,
					const gchar * infile,
					GNOME_Pilot_Survival survival,
					gint timeout,
					gint * handle);
gint 	gnome_pilot_client_get_user_info	(GnomePilotClient * self,
					gchar * cradle_name,
					GNOME_Pilot_Survival survival,
					gint timeout,
					gint * handle);
gint 	gnome_pilot_client_set_user_info	(GnomePilotClient * self,
					gchar * cradle_name,
					GNOME_Pilot_UserInfo user,
					gboolean continue_sync,
					GNOME_Pilot_Survival survival,
					gint timeout,
					gint * handle);
gint 	gnome_pilot_client_get_system_info	(GnomePilotClient * self,
					gchar * cradle_name,
					GNOME_Pilot_Survival survival,
					gint timeout,
					gint * handle);
gint 	gnome_pilot_client_remove_request	(GnomePilotClient * self,
					gint handle);
gint 	gnome_pilot_client_conduit	(GnomePilotClient * self,
					const gchar * pilot_name,
					const gchar * conduit_name,
					GNOME_Pilot_ConduitOperation operation,
					GNOME_Pilot_Survival survival,
					gint timeout,
					gint * handle);
gint 	gnome_pilot_client_get_users	(GnomePilotClient * self,
					GList ** output);
gint 	gnome_pilot_client_get_databases_from_cache	(GnomePilotClient * self,
					const gchar * pilot_name,
					GList ** output);
gint 	gnome_pilot_client_get_cradles	(GnomePilotClient * self,
					GList ** output);
gint 	gnome_pilot_client_get_pilots	(GnomePilotClient * self,
					GList ** output);
gint 	gnome_pilot_client_get_pilot_ids	(GnomePilotClient * self,
					gint ** output);
gint 	gnome_pilot_client_get_pilots_by_user_name	(GnomePilotClient * self,
					const gchar * name,
					GList ** output);
gint 	gnome_pilot_client_get_pilots_by_user_login	(GnomePilotClient * self,
					const gchar * login,
					GList ** output);
gint 	gnome_pilot_client_get_user_name_by_pilot_name	(GnomePilotClient * self,
					const gchar * pilot_name,
					gchar ** output);
gint 	gnome_pilot_client_get_user_login_by_pilot_name	(GnomePilotClient * self,
					const gchar * pilot_name,
					gchar ** output);
gint 	gnome_pilot_client_get_pilot_base_dir_by_name	(GnomePilotClient * self,
					const gchar * pilot_name,
					gchar ** output);
gint 	gnome_pilot_client_get_pilot_base_dir_by_id	(GnomePilotClient * self,
					guint32 pilot_id,
					gchar ** output);
gint 	gnome_pilot_client_get_pilot_id_by_name	(GnomePilotClient * self,
					const gchar * pilot_name,
					guint32 * output);
gint 	gnome_pilot_client_get_pilot_name_by_id	(GnomePilotClient * self,
					guint32 pilot_id,
					gchar ** output);

/*
 * Signal connection wrapper macros
 */
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
#define GNOME_PILOT_CLIENT_SIGNAL_PILOT_CONNECT(func)	"pilot_connect",GTK_SIGNAL_FUNC(({void (* ___pilot_connect) (GnomePilotClient * self, const gchar * pilot_name, const GNOME_Pilot_UserInfo * userinfo, gpointer data ) = func; ___pilot_connect; }))
#define GNOME_PILOT_CLIENT_SIGNAL_PILOT_DISCONNECT(func)	"pilot_disconnect",GTK_SIGNAL_FUNC(({void (* ___pilot_disconnect) (GnomePilotClient * self, const gchar * pilot_name, gpointer data ) = func; ___pilot_disconnect; }))
#define GNOME_PILOT_CLIENT_SIGNAL_COMPLETED_REQUEST(func)	"completed_request",GTK_SIGNAL_FUNC(({void (* ___completed_request) (GnomePilotClient * self, const gchar * pilot_name, unsigned long request_id, gpointer data ) = func; ___completed_request; }))
#define GNOME_PILOT_CLIENT_SIGNAL_USER_INFO(func)	"user_info",GTK_SIGNAL_FUNC(({void (* ___user_info) (GnomePilotClient * self, const gchar * device, const GNOME_Pilot_UserInfo * userinfo, gpointer data ) = func; ___user_info; }))
#define GNOME_PILOT_CLIENT_SIGNAL_SYSTEM_INFO(func)	"system_info",GTK_SIGNAL_FUNC(({void (* ___system_info) (GnomePilotClient * self, const gchar * device, const GNOME_Pilot_SysInfo * sysinfo, gpointer data ) = func; ___system_info; }))
#define GNOME_PILOT_CLIENT_SIGNAL_START_CONDUIT(func)	"start_conduit",GTK_SIGNAL_FUNC(({void (* ___start_conduit) (GnomePilotClient * self, const gchar * pilot_name, const gchar * conduit_name, const gchar * database, gpointer data ) = func; ___start_conduit; }))
#define GNOME_PILOT_CLIENT_SIGNAL_END_CONDUIT(func)	"end_conduit",GTK_SIGNAL_FUNC(({void (* ___end_conduit) (GnomePilotClient * self, const gchar * pilot_name, const gchar * conduit_name, gpointer data ) = func; ___end_conduit; }))
#define GNOME_PILOT_CLIENT_SIGNAL_PROGRESS_CONDUIT(func)	"progress_conduit",GTK_SIGNAL_FUNC(({void (* ___progress_conduit) (GnomePilotClient * self, const gchar * pilot_name, const gchar * conduit_name, guint current, guint total, gpointer data ) = func; ___progress_conduit; }))
#define GNOME_PILOT_CLIENT_SIGNAL_PROGRESS_OVERALL(func)	"progress_overall",GTK_SIGNAL_FUNC(({void (* ___progress_overall) (GnomePilotClient * self, const gchar * pilot_name, guint current, guint total, gpointer data ) = func; ___progress_overall; }))
#define GNOME_PILOT_CLIENT_SIGNAL_MESSAGE_CONDUIT(func)	"message_conduit",GTK_SIGNAL_FUNC(({void (* ___message_conduit) (GnomePilotClient * self, const gchar * pilot_name, const gchar * conduit_name, const gchar * message, gpointer data ) = func; ___message_conduit; }))
#define GNOME_PILOT_CLIENT_SIGNAL_MESSAGE_DAEMON(func)	"message_daemon",GTK_SIGNAL_FUNC(({void (* ___message_daemon) (GnomePilotClient * self, const gchar * pilot_name, const gchar * conduit_name, const gchar * message, gpointer data ) = func; ___message_daemon; }))
#define GNOME_PILOT_CLIENT_SIGNAL_ERROR_DAEMON(func)	"error_daemon",GTK_SIGNAL_FUNC(({void (* ___error_daemon) (GnomePilotClient * self, const gchar * pilot_name, const gchar * message, gpointer data ) = func; ___error_daemon; }))
#define GNOME_PILOT_CLIENT_SIGNAL_ERROR_CONDUIT(func)	"error_conduit",GTK_SIGNAL_FUNC(({void (* ___error_conduit) (GnomePilotClient * self, const gchar * pilot_name, const gchar * conduit_name, const gchar * message, gpointer data ) = func; ___error_conduit; }))
#define GNOME_PILOT_CLIENT_SIGNAL_DAEMON_PAUSE(func)	"daemon_pause",GTK_SIGNAL_FUNC(({void (* ___daemon_pause) (GnomePilotClient * self, gboolean on_off, gpointer data ) = func; ___daemon_pause; }))
#else /* __GNUC__ && !__STRICT_ANSI__ */
#define GNOME_PILOT_CLIENT_SIGNAL_PILOT_CONNECT(func)	"pilot_connect",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_PILOT_DISCONNECT(func)	"pilot_disconnect",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_COMPLETED_REQUEST(func)	"completed_request",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_USER_INFO(func)	"user_info",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_SYSTEM_INFO(func)	"system_info",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_START_CONDUIT(func)	"start_conduit",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_END_CONDUIT(func)	"end_conduit",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_PROGRESS_CONDUIT(func)	"progress_conduit",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_PROGRESS_OVERALL(func)	"progress_overall",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_MESSAGE_CONDUIT(func)	"message_conduit",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_MESSAGE_DAEMON(func)	"message_daemon",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_ERROR_DAEMON(func)	"error_daemon",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_ERROR_CONDUIT(func)	"error_conduit",GTK_SIGNAL_FUNC(func)
#define GNOME_PILOT_CLIENT_SIGNAL_DAEMON_PAUSE(func)	"daemon_pause",GTK_SIGNAL_FUNC(func)
#endif /* __GNUC__ && !__STRICT_ANSI__ */


#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif
