;; -*- scheme -*-
; object definitions ...
(define-object MozEmbed
  (in-module "Gtk")
  (parent "GtkBin")
  (c-name "GtkMozEmbed")
  (gtype-id "GTK_TYPE_MOZ_EMBED")
)

; (define-object MozEmbedSingle
;   (in-module "Gtk")
;   (parent "GtkObject")
;   (c-name "GtkMozEmbedSingle")
;   (gtype-id "GTK_TYPE_MOZ_EMBED_SINGLE")
; )

;; Enumerations and flags ...

(define-enum MozEmbedProgressFlags
  (in-module "Gtk")
  (c-name "GtkMozEmbedProgressFlags")
  (values
    '("start" "GTK_MOZ_EMBED_FLAG_START")
    '("redirecting" "GTK_MOZ_EMBED_FLAG_REDIRECTING")
    '("transferring" "GTK_MOZ_EMBED_FLAG_TRANSFERRING")
    '("negotiating" "GTK_MOZ_EMBED_FLAG_NEGOTIATING")
    '("stop" "GTK_MOZ_EMBED_FLAG_STOP")
    '("is-request" "GTK_MOZ_EMBED_FLAG_IS_REQUEST")
    '("is-document" "GTK_MOZ_EMBED_FLAG_IS_DOCUMENT")
    '("is-network" "GTK_MOZ_EMBED_FLAG_IS_NETWORK")
    '("is-window" "GTK_MOZ_EMBED_FLAG_IS_WINDOW")
  )
)

(define-enum MozEmbedStatusFlags
  (in-module "Gtk")
  (c-name "GtkMozEmbedStatusFlags")
  (values
    '("dns" "GTK_MOZ_EMBED_STATUS_FAILED_DNS")
    '("connect" "GTK_MOZ_EMBED_STATUS_FAILED_CONNECT")
    '("timeout" "GTK_MOZ_EMBED_STATUS_FAILED_TIMEOUT")
    '("usercanceled" "GTK_MOZ_EMBED_STATUS_FAILED_USERCANCELED")
  )
)

(define-enum MozEmbedReloadFlags
  (in-module "Gtk")
  (c-name "GtkMozEmbedReloadFlags")
  (values
    '("normal" "GTK_MOZ_EMBED_FLAG_RELOADNORMAL")
    '("bypasscache" "GTK_MOZ_EMBED_FLAG_RELOADBYPASSCACHE")
    '("bypassproxy" "GTK_MOZ_EMBED_FLAG_RELOADBYPASSPROXY")
    '("bypassproxyandcache" "GTK_MOZ_EMBED_FLAG_RELOADBYPASSPROXYANDCACHE")
    '("charsetchange" "GTK_MOZ_EMBED_FLAG_RELOADCHARSETCHANGE")
  )
)

(define-enum MozEmbedChromeFlags
  (in-module "Gtk")
  (c-name "GtkMozEmbedChromeFlags")
  (values
    '("defaultchrome" "GTK_MOZ_EMBED_FLAG_DEFAULTCHROME")
    '("windowborderson" "GTK_MOZ_EMBED_FLAG_WINDOWBORDERSON")
    '("windowcloseon" "GTK_MOZ_EMBED_FLAG_WINDOWCLOSEON")
    '("windowresizeon" "GTK_MOZ_EMBED_FLAG_WINDOWRESIZEON")
    '("menubaron" "GTK_MOZ_EMBED_FLAG_MENUBARON")
    '("toolbaron" "GTK_MOZ_EMBED_FLAG_TOOLBARON")
    '("locationbaron" "GTK_MOZ_EMBED_FLAG_LOCATIONBARON")
    '("statusbaron" "GTK_MOZ_EMBED_FLAG_STATUSBARON")
    '("personaltoolbaron" "GTK_MOZ_EMBED_FLAG_PERSONALTOOLBARON")
    '("scrollbarson" "GTK_MOZ_EMBED_FLAG_SCROLLBARSON")
    '("titlebaron" "GTK_MOZ_EMBED_FLAG_TITLEBARON")
    '("extrachromeon" "GTK_MOZ_EMBED_FLAG_EXTRACHROMEON")
    '("allchrome" "GTK_MOZ_EMBED_FLAG_ALLCHROME")
    '("windowraised" "GTK_MOZ_EMBED_FLAG_WINDOWRAISED")
    '("windowlowered" "GTK_MOZ_EMBED_FLAG_WINDOWLOWERED")
    '("centerscreen" "GTK_MOZ_EMBED_FLAG_CENTERSCREEN")
    '("dependent" "GTK_MOZ_EMBED_FLAG_DEPENDENT")
    '("modal" "GTK_MOZ_EMBED_FLAG_MODAL")
    '("openasdialog" "GTK_MOZ_EMBED_FLAG_OPENASDIALOG")
    '("openaschrome" "GTK_MOZ_EMBED_FLAG_OPENASCHROME")
  )
)


;; From /usr/include/mozilla-1.2b/gtkembedmoz/gtkmozembed.h

(define-function gtk_moz_embed_get_type
  (c-name "gtk_moz_embed_get_type")
  (return-type "GtkType")
)

(define-function gtk_moz_embed_new
  (c-name "gtk_moz_embed_new")
  (is-constructor-of "GtkMozEmbed")
  (return-type "GtkWidget*")
)

(define-function push_startup
  (c-name "gtk_moz_embed_push_startup")
  (return-type "none")
)

(define-function pop_startup
  (c-name "gtk_moz_embed_pop_startup")
  (return-type "none")
)

(define-function gtk_moz_embed_set_comp_path
  (c-name "gtk_moz_embed_set_comp_path_deprecated")
  (return-type "none")
  (parameters
    '("char*" "aPath")
  )
  (deprecated "renamed to gtkmozembed.set_comp_path")
)

(define-function set_comp_path
  (c-name "gtk_moz_embed_set_comp_path")
  (return-type "none")
  (parameters
    '("char*" "aPath")
  )
)

(define-function gtk_moz_embed_set_profile_path
  (c-name "gtk_moz_embed_set_profile_path_deprecated")
  (return-type "none")
  (parameters
    '("char*" "aDir")
    '("char*" "aName")
  )
  (deprecated "renamed to gtkmozembed.set_profile_path")
)

(define-function set_profile_path
  (c-name "gtk_moz_embed_set_profile_path")
  (return-type "none")
  (parameters
    '("char*" "aDir")
    '("char*" "aName")
  )
)

(define-method load_url
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_load_url")
  (return-type "none")
  (parameters
    '("const-char*" "url")
  )
)

(define-method stop_load
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_stop_load")
  (return-type "none")
)

(define-method can_go_back
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_can_go_back")
  (return-type "gboolean")
)

(define-method can_go_forward
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_can_go_forward")
  (return-type "gboolean")
)

(define-method go_back
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_go_back")
  (return-type "none")
)

(define-method go_forward
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_go_forward")
  (return-type "none")
)

(define-method render_data
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_render_data")
  (return-type "none")
  (parameters
    '("const-char*" "data")
    '("guint32" "len")
    '("const-char*" "base_uri")
    '("const-char*" "mime_type")
  )
)

(define-method open_stream
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_open_stream")
  (return-type "none")
  (parameters
    '("const-char*" "base_uri")
    '("const-char*" "mime_type")
  )
)

(define-method append_data
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_append_data")
  (return-type "none")
  (parameters
    '("const-char*" "data")
    '("guint32" "len")
  )
)

(define-method close_stream
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_close_stream")
  (return-type "none")
)

(define-method get_link_message
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_get_link_message")
  (return-type "char*")
)

(define-method get_js_status
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_get_js_status")
  (return-type "char*")
)

(define-method get_title
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_get_title")
  (return-type "char*")
)

(define-method get_location
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_get_location")
  (return-type "char*")
)

(define-method reload
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_reload")
  (return-type "none")
  (parameters
    '("gint32" "flags")
  )
)

(define-method set_chrome_mask
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_set_chrome_mask")
  (return-type "none")
  (parameters
    '("guint32" "flags")
  )
)

(define-method get_chrome_mask
  (of-object "GtkMozEmbed")
  (c-name "gtk_moz_embed_get_chrome_mask")
  (return-type "guint32")
)

; (define-function gtk_moz_embed_progress_flags_get_type
;   (c-name "gtk_moz_embed_progress_flags_get_type")
;   (return-type "GtkType")
; )

; (define-function gtk_moz_embed_status_enums_get_type
;   (c-name "gtk_moz_embed_status_enums_get_type")
;   (return-type "GtkType")
; )

; (define-function gtk_moz_embed_reload_flags_get_type
;   (c-name "gtk_moz_embed_reload_flags_get_type")
;   (return-type "GtkType")
; )

; (define-function gtk_moz_embed_chrome_flags_get_type
;   (c-name "gtk_moz_embed_chrome_flags_get_type")
;   (return-type "GtkType")
; )

(define-function gtk_moz_embed_single_get
  (c-name "gtk_moz_embed_single_get")
  (return-type "GtkMozEmbedSingle*")
)


(define-virtual link_message
  (of-object "GtkMozEmbed")
  (return-type "none")
)
(define-virtual js_status
  (of-object "GtkMozEmbed")
  (return-type "none")
)
(define-virtual location
  (of-object "GtkMozEmbed")
  (return-type "none")
)
(define-virtual title
  (of-object "GtkMozEmbed")
  (return-type "none")
)
(define-virtual progress
  (of-object "GtkMozEmbed")
  (return-type "none")
  (parameters
    '("gint" "curprogress")
    '("gint" "maxprogress")
  )
)
(define-virtual progress_all
  (of-object "GtkMozEmbed")
  (return-type "none")
  (parameters
    '("const-char*" "aURI")
    '("gint" "curprogress")
    '("gint" "maxprogress")
  )
)
(define-virtual net_state
  (of-object "GtkMozEmbed")
  (return-type "none")
  (parameters
    '("gint" "state")
    '("guint" "status")
  )
)
(define-virtual net_state_all
  (of-object "GtkMozEmbed")
  (return-type "none")
  (parameters
    '("const-char*" "aURI")
    '("gint" "state")
    '("guint" "status")
  )
)
(define-virtual net_start
  (of-object "GtkMozEmbed")
  (return-type "none")
)
(define-virtual net_stop
  (of-object "GtkMozEmbed")
  (return-type "none")
)
(define-virtual new_window
  (of-object "GtkMozEmbed")
  (return-type "none")
  (parameters
    '("GtkMozEmbed**" "newEmbed")
    '("guint" "chromemask")
  )
)
(define-virtual visibility
  (of-object "GtkMozEmbed")
  (return-type "none")
  (parameters
    '("gboolean" "visibility")
  )
)
(define-virtual destroy_brsr
  (of-object "GtkMozEmbed")
  (return-type "none")
)
(define-virtual open_uri
  (of-object "GtkMozEmbed")
  (return-type "gint")
  (parameters
    '("const-char*" "aURI")
  )
)
(define-virtual size_to
  (of-object "GtkMozEmbed")
  (return-type "none")
  (parameters
    '("gint" "width")
    '("gint" "height")
  )
)
(define-virtual dom_key_down
  (of-object "GtkMozEmbed")
  (return-type "gint")
  (parameters
    '("gpointer" "dom_event")
  )
)
(define-virtual dom_key_press
  (of-object "GtkMozEmbed")
  (return-type "gint")
  (parameters
    '("gpointer" "dom_event")
  )
)
(define-virtual dom_key_up
  (of-object "GtkMozEmbed")
  (return-type "gint")
  (parameters
    '("gpointer" "dom_event")
  )
)
(define-virtual dom_mouse_down
  (of-object "GtkMozEmbed")
  (return-type "gint")
  (parameters
    '("gpointer" "dom_event")
  )
)
(define-virtual dom_mouse_up
  (of-object "GtkMozEmbed")
  (return-type "gint")
  (parameters
    '("gpointer" "dom_event")
  )
)
(define-virtual dom_mouse_click
  (of-object "GtkMozEmbed")
  (return-type "gint")
  (parameters
    '("gpointer" "dom_event")
  )
)
(define-virtual dom_mouse_dbl_click
  (of-object "GtkMozEmbed")
  (return-type "gint")
  (parameters
    '("gpointer" "dom_event")
  )
)
(define-virtual dom_mouse_over
  (of-object "GtkMozEmbed")
  (return-type "gint")
  (parameters
    '("gpointer" "dom_event")
  )
)
(define-virtual dom_mouse_out
  (of-object "GtkMozEmbed")
  (return-type "gint")
  (parameters
    '("gpointer" "dom_event")
  )
)
(define-virtual security_change
  (of-object "GtkMozEmbed")
  (return-type "none")
  (parameters
    '("gpointer" "request")
    '("guint" "state")
  )
)
(define-virtual status_change
  (of-object "GtkMozEmbed")
  (return-type "none")
  (parameters
    '("gpointer" "request")
    '("gint" "status")
    '("gpointer" "message")
  )
)
(define-virtual new_window_orphan
  (of-object "GtkMozEmbedSingle")
  (return-type "none")
  (parameters
    '("GtkMozEmbed**" "newEmbed")
    '("guint" "chromemask")
  )
)
