/* * Copyright © Christopher Blizzard * Copyright © Ramiro Estrugo * Copyright © 2006 Christian Persch * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * --------------------------------------------------------------------------- * Derived from Mozilla.org code, which had the following attributions: * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is * Christopher Blizzard. Portions created by Christopher Blizzard are Copyright © Christopher Blizzard. All Rights Reserved. * Portions created by the Initial Developer are Copyright © 2001 * the Initial Developer. All Rights Reserved. * * Contributor(s): * Christopher Blizzard * Ramiro Estrugo * --------------------------------------------------------------------------- * * $Id$ */ #ifndef gecko_embed_h #define gecko_embed_h #include #include G_BEGIN_DECLS #define GECKO_TYPE_EMBED (gecko_embed_get_type()) #define GECKO_EMBED(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GECKO_TYPE_EMBED, GeckoEmbed)) #define GECKO_EMBED_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GECKO_TYPE_EMBED, GeckoEmbedClass)) #define GECKO_IS_EMBED(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GECKO_TYPE_EMBED)) #define GECKO_IS_EMBED_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GECKO_TYPE_EMBED)) #define GECKO_EMBED_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GECKO_TYPE_EMBED, GeckoEmbedClass)) typedef struct _GeckoEmbed GeckoEmbed; typedef struct _GeckoEmbedPrivate GeckoEmbedPrivate; typedef struct _GeckoEmbedClass GeckoEmbedClass; struct _GeckoEmbed { GtkBin parent_instance; /*< private >*/ GeckoEmbedPrivate *priv; }; struct _GeckoEmbedClass { GtkBinClass parent_class; /* Signals */ /* Network */ gboolean (* open_uri) (GeckoEmbed *embed, const char *aURI); void (* net_start) (GeckoEmbed *embed); void (* net_stop) (GeckoEmbed *embed); void (* net_state) (GeckoEmbed *embed, int state, guint status); void (* net_state_all) (GeckoEmbed *embed, const char *aURI, int state, guint status); void (* progress) (GeckoEmbed *embed, int curprogress, int maxprogress); void (* progress_all) (GeckoEmbed *embed, const char *aURI, int curprogress, int maxprogress); void (* security_change) (GeckoEmbed *embed, gpointer request, guint state); void (* status_change) (GeckoEmbed *embed, gpointer request, int status, gpointer message); /* Document */ void (* link_message) (GeckoEmbed *embed); void (* js_status_message) (GeckoEmbed *embed); void (* location) (GeckoEmbed *embed); void (* title) (GeckoEmbed *embed); void (* visibility) (GeckoEmbed *embed, gboolean visibility); void (* destroy_browser) (GeckoEmbed *embed); void (* size_to) (GeckoEmbed *embed, int width, int height); /* misc. */ void (* new_window) (GeckoEmbed *embed, GeckoEmbed **newEmbed, guint chromemask); /* reserved for future use */ void (* reserved_0) (void); void (* reserved_1) (void); void (* reserved_2) (void); void (* reserved_3) (void); void (* reserved_4) (void); void (* reserved_5) (void); void (* reserved_6) (void); void (* reserved_7) (void); void (* reserved_8) (void); void (* reserved_9) (void); void (* reserved_a) (void); void (* reserved_b) (void); void (* reserved_c) (void); void (* reserved_d) (void); void (* reserved_e) (void); void (* reserved_f) (void); }; GType gecko_embed_get_type (void); GtkWidget *gecko_embed_new (void); void gecko_embed_load_url (GeckoEmbed *embed, const char *url); void gecko_embed_stop_load (GeckoEmbed *embed); gboolean gecko_embed_can_go_back (GeckoEmbed *embed); gboolean gecko_embed_can_go_forward (GeckoEmbed *embed); void gecko_embed_go_back (GeckoEmbed *embed); void gecko_embed_go_forward (GeckoEmbed *embed); void gecko_embed_render_data (GeckoEmbed *embed, const char *data, guint32 len, const char *base_uri, const char *mime_type); void gecko_embed_open_stream (GeckoEmbed *embed, const char *base_uri, const char *mime_type); void gecko_embed_append_data (GeckoEmbed *embed, const char *data, guint32 len); void gecko_embed_close_stream (GeckoEmbed *embed); char *gecko_embed_get_link_message (GeckoEmbed *embed); char *gecko_embed_get_js_status (GeckoEmbed *embed); char *gecko_embed_get_title (GeckoEmbed *embed); char *gecko_embed_get_location (GeckoEmbed *embed); void gecko_embed_reload (GeckoEmbed *embed, gint32 flags); void gecko_embed_set_chrome_mask (GeckoEmbed *embed, guint32 flags); guint32 gecko_embed_get_chrome_mask (GeckoEmbed *embed); G_END_DECLS #endif /* gecko_embed_h */