;; -*- scheme -*-
; object definitions ...
(define-object EditableToolbar
  (in-module "Egg")
  (parent "GtkVBox")
  (c-name "EggEditableToolbar")
  (gtype-id "EGG_TYPE_EDITABLE_TOOLBAR")
)

(define-object Bookmarks
  (in-module "Ephy")
  (parent "GObject")
  (c-name "EphyBookmarks")
  (gtype-id "EPHY_TYPE_BOOKMARKS")
)

(define-interface CommandManager
  (in-module "Ephy")
  (c-name "EphyCommandManager")
  (gtype-id "EPHY_TYPE_COMMAND_MANAGER")
)

(define-interface CookieManager
  (in-module "Ephy")
  (c-name "EphyCookieManager")
  (gtype-id "EPHY_TYPE_COOKIE_MANAGER")
)

(define-object Dialog
  (in-module "Ephy")
  (parent "GObject")
  (c-name "EphyDialog")
  (gtype-id "EPHY_TYPE_DIALOG")
)

(define-interface EmbedContainer
  (in-module "Ephy")
  (c-name "EphyEmbedContainer")
  (gtype-id "EPHY_TYPE_EMBED_CONTAINER")
)

(define-interface Embed
  (in-module "Ephy")
  (c-name "EphyEmbed")
  (gtype-id "EPHY_TYPE_EMBED")
)

(define-interface EmbedEvent
  (in-module "Ephy")
  (c-name "EphyEmbedEvent")
  (gtype-id "EPHY_TYPE_EMBED_EVENT")
)

(define-object EmbedPersist
  (in-module "Ephy")
  (parent "GObject")
  (c-name "EphyEmbedPersist")
  (gtype-id "EPHY_TYPE_EMBED_PERSIST")
)

(define-object EmbedShell
  (in-module "Ephy")
  (parent "GObject")
  (c-name "EphyEmbedShell")
  (gtype-id "EPHY_TYPE_EMBED_SHELL")
)

(define-interface EmbedSingle
  (in-module "Ephy")
  (c-name "EphyEmbedSingle")
  (gtype-id "EPHY_TYPE_EMBED_SINGLE")
)

(define-interface Extension
  (in-module "Ephy")
  (c-name "EphyExtension")
  (gtype-id "EPHY_TYPE_EXTENSION")
)

(define-object ExtensionsManager
  (in-module "Ephy")
  (parent "GObject")
  (c-name "EphyExtensionsManager")
  (gtype-id "EPHY_TYPE_EXTENSIONS_MANAGER")
)

(define-object FaviconCache
  (in-module "Ephy")
  (parent "GObject")
  (c-name "EphyFaviconCache")
  (gtype-id "EPHY_TYPE_FAVICON_CACHE")
)

(define-object FindToolbar
  (in-module "Ephy")
  (parent "GtkToolbar")
  (c-name "EphyFindToolbar")
  (gtype-id "EPHY_TYPE_FIND_TOOLBAR")
)

(define-object History
  (in-module "Ephy")
  (parent "GObject")
  (c-name "EphyHistory")
  (gtype-id "EPHY_TYPE_HISTORY")
)

(define-interface Link
  (in-module "Ephy")
  (c-name "EphyLink")
  (gtype-id "EPHY_TYPE_LINK")
)

(define-object LinkAction
  (in-module "Ephy")
  (parent "GtkAction")
  (c-name "EphyLinkAction")
  (gtype-id "EPHY_TYPE_LINK_ACTION")
)

(define-object LinkActionGroup
  (in-module "Ephy")
  (parent "GtkActionGroup")
  (c-name "EphyLinkActionGroup")
  (gtype-id "EPHY_TYPE_LINK_ACTION_GROUP")
)

(define-object LocationAction
  (in-module "Ephy")
  (parent "EphyLinkAction")
  (c-name "EphyLocationAction")
  (gtype-id "EPHY_TYPE_LOCATION_ACTION")
)

(define-object NodeDb
  (in-module "Ephy")
  (parent "GObject")
  (c-name "EphyNodeDb")
  (gtype-id "EPHY_TYPE_NODE_DB")
)

(define-object Notebook
  (in-module "Ephy")
  (parent "GtkNotebook")
  (c-name "EphyNotebook")
  (gtype-id "EPHY_TYPE_NOTEBOOK")
)

(define-interface PasswordManager
  (in-module "Ephy")
  (c-name "EphyPasswordManager")
  (gtype-id "EPHY_TYPE_PASSWORD_MANAGER")
)

(define-interface PermissionManager
  (in-module "Ephy")
  (c-name "EphyPermissionManager")
  (gtype-id "EPHY_TYPE_PERMISSION_MANAGER")
)

(define-object SearchEntry
  (in-module "Ephy")
  (parent "GtkEntry")
  (c-name "EphySearchEntry")
  (gtype-id "EPHY_TYPE_SEARCH_ENTRY")
)

(define-object Session
  (in-module "Ephy")
  (parent "GObject")
  (c-name "EphySession")
  (gtype-id "EPHY_TYPE_SESSION")
)

(define-object Shell
  (in-module "Ephy")
  (parent "EphyEmbedShell")
  (c-name "EphyShell")
  (gtype-id "EPHY_TYPE_SHELL")
)

(define-object Spinner
  (in-module "Ephy")
  (parent "GtkEventBox")
  (c-name "EphySpinner")
  (gtype-id "EPHY_TYPE_SPINNER")
)

(define-object Statusbar
  (in-module "Ephy")
  (parent "GtkStatusbar")
  (c-name "EphyStatusbar")
  (gtype-id "EPHY_TYPE_STATUSBAR")
)

(define-object Toolbar
  (in-module "Ephy")
  (parent "EggEditableToolbar")
  (c-name "EphyToolbar")
  (gtype-id "EPHY_TYPE_TOOLBAR")
)

(define-object EggToolbarsModel
  (in-module "Egg")
  (parent "GObject")
  (c-name "EggToolbarsModel")
  (gtype-id "EGG_TYPE_TOOLBARS_MODEL")
)

(define-object Window
  (in-module "Ephy")
  (parent "GtkWindow")
  (c-name "EphyWindow")
  (gtype-id "EPHY_TYPE_WINDOW")
)

;; Enumerations and flags ...

(define-flags EmbedNavigationFlags
  (in-module "Ephy")
  (c-name "EphyEmbedNavigationFlags")
  (gtype-id "EPHY_TYPE_EMBED_NAVIGATION_FLAGS")
  (values
    '("up" "EPHY_EMBED_NAV_UP")
    '("back" "EPHY_EMBED_NAV_BACK")
    '("forward" "EPHY_EMBED_NAV_FORWARD")
  )
)

(define-flags EmbedEventContext
  (in-module "Ephy")
  (c-name "EphyEmbedEventContext")
  (gtype-id "EPHY_TYPE_EMBED_EVENT_CONTEXT")
  (values
    '("none" "EPHY_EMBED_CONTEXT_NONE")
    '("default" "EPHY_EMBED_CONTEXT_DEFAULT")
    '("link" "EPHY_EMBED_CONTEXT_LINK")
    '("image" "EPHY_EMBED_CONTEXT_IMAGE")
    '("document" "EPHY_EMBED_CONTEXT_DOCUMENT")
    '("input" "EPHY_EMBED_CONTEXT_INPUT")
    '("input-password" "EPHY_EMBED_CONTEXT_INPUT_PASSWORD")
    '("xul" "EPHY_EMBED_CONTEXT_XUL")
    '("email-link" "EPHY_EMBED_CONTEXT_EMAIL_LINK")
  )
)

(define-flags EmbedPersistFlags
  (in-module "Ephy")
  (c-name "EphyEmbedPersistFlags")
  (gtype-id "EPHY_TYPE_EMBED_PERSIST_FLAGS")
  (values
    '("copy-page" "EPHY_EMBED_PERSIST_COPY_PAGE")
    '("maindoc" "EPHY_EMBED_PERSIST_MAINDOC")
    '("no-view" "EPHY_EMBED_PERSIST_NO_VIEW")
    '("ask-destination" "EPHY_EMBED_PERSIST_ASK_DESTINATION")
    '("do-conversion" "EPHY_EMBED_PERSIST_DO_CONVERSION")
    '("from-cache" "EPHY_EMBED_PERSIST_FROM_CACHE")
    '("no-certdialogs" "EPHY_EMBED_PERSIST_NO_CERTDIALOGS")
  )
)

(define-flags EmbedNetState
  (in-module "Ephy")
  (c-name "EphyEmbedNetState")
  (gtype-id "EPHY_TYPE_EMBED_NET_STATE")
  (values
    '("unknown" "EPHY_EMBED_STATE_UNKNOWN")
    '("start" "EPHY_EMBED_STATE_START")
    '("redirecting" "EPHY_EMBED_STATE_REDIRECTING")
    '("transferring" "EPHY_EMBED_STATE_TRANSFERRING")
    '("negotiating" "EPHY_EMBED_STATE_NEGOTIATING")
    '("stop" "EPHY_EMBED_STATE_STOP")
    '("is-request" "EPHY_EMBED_STATE_IS_REQUEST")
    '("is-document" "EPHY_EMBED_STATE_IS_DOCUMENT")
    '("is-network" "EPHY_EMBED_STATE_IS_NETWORK")
    '("is-window" "EPHY_EMBED_STATE_IS_WINDOW")
    '("restoring" "EPHY_EMBED_STATE_RESTORING")
  )
)

(define-flags EmbedChrome
  (in-module "Ephy")
  (c-name "EphyEmbedChrome")
  (gtype-id "EPHY_TYPE_EMBED_CHROME")
  (values
    '("menubar" "EPHY_EMBED_CHROME_MENUBAR")
    '("toolbar" "EPHY_EMBED_CHROME_TOOLBAR")
    '("statusbar" "EPHY_EMBED_CHROME_STATUSBAR")
    '("bookmarksbar" "EPHY_EMBED_CHROME_BOOKMARKSBAR")
  )
)

(define-enum EmbedPrintPreviewNavType
  (in-module "Ephy")
  (c-name "EphyEmbedPrintPreviewNavType")
  (gtype-id "EPHY_TYPE_EMBED_PRINT_PREVIEW_NAV_TYPE")
  (values
    '("goto-pagenum" "EPHY_EMBED_PRINTPREVIEW_GOTO_PAGENUM")
    '("prev-page" "EPHY_EMBED_PRINTPREVIEW_PREV_PAGE")
    '("next-page" "EPHY_EMBED_PRINTPREVIEW_NEXT_PAGE")
    '("home" "EPHY_EMBED_PRINTPREVIEW_HOME")
    '("end" "EPHY_EMBED_PRINTPREVIEW_END")
  )
)

(define-enum EmbedSecurityLevel
  (in-module "Ephy")
  (c-name "EphyEmbedSecurityLevel")
  (gtype-id "EPHY_TYPE_EMBED_SECURITY_LEVEL")
  (values
    '("unknown" "EPHY_EMBED_STATE_IS_UNKNOWN")
    '("insecure" "EPHY_EMBED_STATE_IS_INSECURE")
    '("broken" "EPHY_EMBED_STATE_IS_BROKEN")
    '("secure-low" "EPHY_EMBED_STATE_IS_SECURE_LOW")
    '("secure-med" "EPHY_EMBED_STATE_IS_SECURE_MED")
    '("secure-high" "EPHY_EMBED_STATE_IS_SECURE_HIGH")
  )
)

(define-enum EmbedDocumentType
  (in-module "Ephy")
  (c-name "EphyEmbedDocumentType")
  (gtype-id "EPHY_TYPE_EMBED_DOCUMENT_TYPE")
  (values
    '("html" "EPHY_EMBED_DOCUMENT_HTML")
    '("xml" "EPHY_EMBED_DOCUMENT_XML")
    '("image" "EPHY_EMBED_DOCUMENT_IMAGE")
    '("other" "EPHY_EMBED_DOCUMENT_OTHER")
  )
)

(define-enum Permission
  (in-module "Ephy")
  (c-name "EphyPermission")
  (gtype-id "EPHY_TYPE_PERMISSION")
  (values
    '("allowed" "EPHY_PERMISSION_ALLOWED")
    '("denied" "EPHY_PERMISSION_DENIED")
    '("default" "EPHY_PERMISSION_DEFAULT")
  )
)

(define-flags TbModelFlags
  (in-module "Egg")
  (c-name "EggTbModelFlags")
  (gtype-id "EGG_TYPE_TB_MODEL_FLAGS")
  (values
    '("not-removable" "EGG_TB_MODEL_NOT_REMOVABLE")
    '("both" "EGG_TB_MODEL_BOTH")
    '("both-horiz" "EGG_TB_MODEL_BOTH_HORIZ")
    '("icons" "EGG_TB_MODEL_ICONS")
    '("text" "EGG_TB_MODEL_TEXT")
    '("styles-mask" "EGG_TB_MODEL_STYLES_MASK")
    '("accept-items-only" "EGG_TB_MODEL_ACCEPT_ITEMS_ONLY")
    '("hidden" "EGG_TB_MODEL_HIDDEN")
  )
)

;; (define-enum DialogApplyType
;;   (in-module "Ephy")
;;   (c-name "EphyDialogApplyType")
;;   (gtype-id "EPHY_TYPE_DIALOG_APPLY_TYPE")
;;   (values
;;     '("normal" "PT_NORMAL")
;;     '("autoapply" "PT_AUTOAPPLY")
;;   )
;; )

(define-enum NodeSignalType
  (in-module "Ephy")
  (c-name "EphyNodeSignalType")
  (gtype-id "EPHY_TYPE_NODE_SIGNAL_TYPE")
  (values
    '("destroy" "EPHY_NODE_DESTROY")
    '("restored" "EPHY_NODE_RESTORED")
    '("changed" "EPHY_NODE_CHANGED")
    '("child-added" "EPHY_NODE_CHILD_ADDED")
    '("child-changed" "EPHY_NODE_CHILD_CHANGED")
    '("child-removed" "EPHY_NODE_CHILD_REMOVED")
    '("children-reordered" "EPHY_NODE_CHILDREN_REORDERED")
  )
)

(define-flags StateWindowFlags
  (in-module "Ephy")
  (c-name "EphyStateWindowFlags")
  (gtype-id "EPHY_TYPE_STATE_WINDOW_FLAGS")
  (values
    '("none" "EPHY_STATE_WINDOW_SAVE_NONE")
    '("size" "EPHY_STATE_WINDOW_SAVE_SIZE")
    '("position" "EPHY_STATE_WINDOW_SAVE_POSITION")
  )
)

(define-enum BookmarkProperty
  (in-module "Ephy")
  (c-name "EphyBookmarkProperty")
  (gtype-id "EPHY_TYPE_BOOKMARK_PROPERTY")
  (values
    '("bmk-prop-title" "EPHY_NODE_BMK_PROP_TITLE")
    '("bmk-prop-location" "EPHY_NODE_BMK_PROP_LOCATION")
    '("bmk-prop-keywords" "EPHY_NODE_BMK_PROP_KEYWORDS")
    '("keyword-prop-name" "EPHY_NODE_KEYWORD_PROP_NAME")
    '("bmk-prop-icon" "EPHY_NODE_BMK_PROP_ICON")
    '("keyword-prop-priority" "EPHY_NODE_KEYWORD_PROP_PRIORITY")
    '("bmk-prop-immutable" "EPHY_NODE_BMK_PROP_IMMUTABLE")
  )
)

(define-flags LinkFlags
  (in-module "Ephy")
  (c-name "EphyLinkFlags")
  (gtype-id "EPHY_TYPE_LINK_FLAGS")
  (values
    '("new-window" "EPHY_LINK_NEW_WINDOW")
    '("new-tab" "EPHY_LINK_NEW_TAB")
    '("jump-to" "EPHY_LINK_JUMP_TO")
  )
)

(define-flags NewTabFlags
  (in-module "Ephy")
  (c-name "EphyNewTabFlags")
  (gtype-id "EPHY_TYPE_NEW_TAB_FLAGS")
  (values
    '("home-page" "EPHY_NEW_TAB_HOME_PAGE")
    '("new-page" "EPHY_NEW_TAB_NEW_PAGE")
    '("open-page" "EPHY_NEW_TAB_OPEN_PAGE")
    '("fullscreen-mode" "EPHY_NEW_TAB_FULLSCREEN_MODE")
    '("dont-show-window" "EPHY_NEW_TAB_DONT_SHOW_WINDOW")
    '("append-last" "EPHY_NEW_TAB_APPEND_LAST")
    '("append-after" "EPHY_NEW_TAB_APPEND_AFTER")
    '("jump" "EPHY_NEW_TAB_JUMP")
    '("in-new-window" "EPHY_NEW_TAB_IN_NEW_WINDOW")
    '("in-existing-window" "EPHY_NEW_TAB_IN_EXISTING_WINDOW")
  )
)

(define-enum EmbedAddressExpire
  (in-module "Ephy")
  (c-name "EphyEmbedAddressExpire")
  (gtype-id "EPHY_TYPE_EMBED_ADDRESS_EXPIRE")
  (values
    '("now" "EPHY_EMBED_ADDRESS_EXPIRE_NOW")
    '("next" "EPHY_EMBED_ADDRESS_EXPIRE_NEXT")
    '("current" "EPHY_EMBED_ADDRESS_EXPIRE_CURRENT")
  )
)


;; From ../embed/ephy-command-manager.h

(define-function ephy_command_manager_get_type
  (c-name "ephy_command_manager_get_type")
  (return-type "GType")
)

(define-method do_command
  (of-object "EphyCommandManager")
  (c-name "ephy_command_manager_do_command")
  (return-type "none")
  (parameters
    '("const-char*" "command")
  )
)

(define-method can_do_command
  (of-object "EphyCommandManager")
  (c-name "ephy_command_manager_can_do_command")
  (return-type "gboolean")
  (parameters
    '("const-char*" "command")
  )
)



;; From ../../embed/ephy-cookie-manager.h

(define-function ephy_cookie_get_type
  (c-name "ephy_cookie_get_type")
  (return-type "GType")
)

(define-function ephy_cookie_new
  (c-name "ephy_cookie_new")
  (is-constructor-of "EphyCookie")
  (return-type "EphyCookie*")
)

(define-method copy
  (of-object "EphyCookie")
  (c-name "ephy_cookie_copy")
  (return-type "EphyCookie*")
)

(define-method free
  (of-object "EphyCookie")
  (c-name "ephy_cookie_free")
  (return-type "none")
)

(define-function ephy_cookie_manager_get_type
  (c-name "ephy_cookie_manager_get_type")
  (return-type "GType")
)

(define-method list_cookies
  (of-object "EphyCookieManager")
  (c-name "ephy_cookie_manager_list_cookies")
  (return-type "GList*")
)

(define-method remove_cookie
  (of-object "EphyCookieManager")
  (c-name "ephy_cookie_manager_remove_cookie")
  (return-type "none")
  (parameters
    '("const-EphyCookie*" "cookie")
  )
)

(define-method clear
  (of-object "EphyCookieManager")
  (c-name "ephy_cookie_manager_clear")
  (return-type "none")
)

;; From ../../embed/ephy-embed-container.h

(define-method set_active_child
  (of-object "EphyEmbedContainer")
  (c-name "ephy_embed_container_set_active_child")
  (return-type "none")
  (parameters
    '("EphyEmbed*" "child")
  )
)

(define-method get_active_child
  (of-object "EphyEmbedContainer")
  (c-name "ephy_embed_container_get_active_child")
  (return-type "EphyEmbed*")
)

(define-method get_childs
  (of-object "EphyEmbedContainer")
  (c-name "ephy_embed_container_get_childs")
  (return-type "GList*")
)

(define-method get_is_popup
  (of-object "EphyEmbedContainer")
  (c-name "ephy_embed_container_get_is_popup")
  (return-type "gboolean")
)

(define-method get_chrome
  (of-object "EphyEmbedContainer")
  (c-name "ephy_embed_container_get_chrome")
  (return-type "EphyEmbedChrome")
)

;; From ../../embed/ephy-embed-event.h

(define-function ephy_embed_event_get_type
  (c-name "ephy_embed_event_get_type")
  (return-type "GType")
)

(define-function ephy_embed_event_context_get_type
  (c-name "ephy_embed_event_context_get_type")
  (return-type "GType")
)

(define-function ephy_embed_event_type_get_type
  (c-name "ephy_embed_event_type_get_type")
  (return-type "GType")
)

(define-method get_context
  (of-object "EphyEmbedEvent")
  (c-name "ephy_embed_event_get_context")
  (return-type "EphyEmbedEventContext")
)

(define-method get_button
  (of-object "EphyEmbedEvent")
  (c-name "ephy_embed_event_get_button")
  (return-type "guint")
)

(define-method get_modifier
  (of-object "EphyEmbedEvent")
  (c-name "ephy_embed_event_get_modifier")
  (return-type "guint")
)

(define-method get_coords
  (of-object "EphyEmbedEvent")
  (c-name "ephy_embed_event_get_coords")
  (return-type "none")
  (parameters
    '("guint*" "x")
    '("guint*" "y")
  )
)

(define-method get_event_property
  (of-object "EphyEmbedEvent")
  (c-name "ephy_embed_event_get_property")
  (return-type "const-GValue*")
  (parameters
    '("const-char*" "name")
  )
)

(define-method has_event_property
  (of-object "EphyEmbedEvent")
  (c-name "ephy_embed_event_has_property")
  (return-type "gboolean")
  (parameters
    '("const-char*" "name")
  )
)


; Not very useful for python!
;(define-method get_dom_event
;  (of-object "EphyEmbedEvent")
;  (c-name "ephy_embed_event_get_dom_event")
;  (return-type "gpointer")
;)


;; From ../embed/ephy-embed-factory.h

(define-function ephy_embed_factory_new_object
  (c-name "ephy_embed_factory_new_object")
  (return-type "GObject*")
  (parameters
    '("GType" "type")
  )
)



;; From ../../embed/ephy-embed-persist.h

(define-function ephy_embed_persist_flags_get_type
  (c-name "ephy_embed_persist_flags_get_type")
  (return-type "GType")
)

(define-function ephy_embed_persist_get_type
  (c-name "ephy_embed_persist_get_type")
  (return-type "GType")
)

(define-method save
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_save")
  (return-type "gboolean")
)

(define-method cancel
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_cancel")
  (return-type "none")
)

(define-method set_dest
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_set_dest")
  (return-type "none")
  (parameters
    '("const-char*" "value")
  )
)

(define-method set_embed
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_set_embed")
  (return-type "none")
  (parameters
    '("EphyEmbed*" "value")
  )
)

(define-method set_fc_title
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_set_fc_title")
  (return-type "none")
  (parameters
    '("const-char*" "value")
  )
)

(define-method set_fc_parent
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_set_fc_parent")
  (return-type "none")
  (parameters
    '("GtkWindow*" "value")
  )
)

(define-method set_flags
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_set_flags")
  (return-type "none")
  (parameters
    '("EphyEmbedPersistFlags" "value")
  )
)

(define-method set_max_size
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_set_max_size")
  (return-type "none")
  (parameters
    '("gint64" "value")
  )
)

(define-method set_persist_key
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_set_persist_key")
  (return-type "none")
  (parameters
    '("const-char*" "value")
  )
)

(define-method set_source
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_set_source")
  (return-type "none")
  (parameters
    '("const-char*" "value")
  )
)

(define-method set_user_time
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_set_user_time")
  (return-type "none")
  (parameters
    '("guint32" "user_time")
  )
)

(define-method get_dest
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_get_dest")
  (return-type "const-char*")
)

(define-method get_embed
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_get_embed")
  (return-type "EphyEmbed*")
)

(define-method get_fc_title
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_get_fc_title")
  (return-type "const-char*")
)

(define-method get_fc_parent
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_get_fc_parent")
  (return-type "GtkWindow*")
)

(define-method get_flags
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_get_flags")
  (return-type "EphyEmbedPersistFlags")
)

(define-method get_max_size
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_get_max_size")
  (return-type "gint64")
)

(define-method get_persist_key
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_get_persist_key")
  (return-type "const-char*")
)

(define-method get_source
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_get_source")
  (return-type "const-char*")
)

(define-method get_user_time
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_get_user_time")
  (return-type "guint32")
)

(define-method to_string
  (of-object "EphyEmbedPersist")
  (c-name "ephy_embed_persist_to_string")
  (return-type "char*")
)



;; From ../../embed/ephy-embed-shell.h

(define-function ephy_embed_shell_get_type
  (c-name "ephy_embed_shell_get_type")
  (return-type "GType")
)

(define-function ephy_embed_shell_get_default
  (c-name "ephy_embed_shell_get_default")
  (return-type "EphyEmbedShell*")
)

(define-method get_favicon_cache
  (of-object "EphyEmbedShell")
  (c-name "ephy_embed_shell_get_favicon_cache")
  (return-type "GObject*")
)

(define-method get_global_history
  (of-object "EphyEmbedShell")
  (c-name "ephy_embed_shell_get_global_history")
  (return-type "GObject*")
)

(define-method get_downloader_view
  (of-object "EphyEmbedShell")
  (c-name "ephy_embed_shell_get_downloader_view")
  (return-type "GObject*")
)

(define-method get_encodings
  (of-object "EphyEmbedShell")
  (c-name "ephy_embed_shell_get_encodings")
  (return-type "GObject*")
)

(define-method get_embed_single
  (of-object "EphyEmbedShell")
  (c-name "ephy_embed_shell_get_embed_single")
  (return-type "GObject*")
)

(define-method prepare_close
  (of-object "EphyEmbedShell")
  (c-name "ephy_embed_shell_prepare_close")
  (return-type "none")
)



;; From ../../embed/ephy-embed-single.h

(define-function ephy_embed_single_get_type
  (c-name "ephy_embed_single_get_type")
  (return-type "GType")
)

(define-method open_window
  (of-object "EphyEmbedSingle")
  (c-name "ephy_embed_single_open_window")
  (return-type "GtkWidget*")
  (parameters
    '("EphyEmbed*" "parent")
    '("const-char*" "address")
    '("const-char*" "name")
    '("const-char*" "features")
  )
)

(define-method clear_cache
  (of-object "EphyEmbedSingle")
  (c-name "ephy_embed_single_clear_cache")
  (return-type "none")
)

(define-method clear_auth_cache
  (of-object "EphyEmbedSingle")
  (c-name "ephy_embed_single_clear_auth_cache")
  (return-type "none")
)

(define-method set_network_status
  (of-object "EphyEmbedSingle")
  (c-name "ephy_embed_single_set_network_status")
  (return-type "none")
  (parameters
    '("gboolean" "offline")
  )
)

(define-method get_network_status
  (of-object "EphyEmbedSingle")
  (c-name "ephy_embed_single_get_network_status")
  (return-type "gboolean")
)

(define-method get_font_list
  (of-object "EphyEmbedSingle")
  (c-name "ephy_embed_single_get_font_list")
  (return-type "GList*")
  (parameters
    '("const-char*" "lang_group")
  )
)

(define-method get_backend_name
  (of-object "EphyEmbedSingle")
  (c-name "ephy_embed_single_get_backend_name")
  (return-type "const-char*")
)

;; From ../embed/ephy-embed-type-builtins.h

(define-function ephy_embed_net_state_get_type
  (c-name "ephy_embed_net_state_get_type")
  (return-type "GType")
)

(define-function ephy_embed_chrome_get_type
  (c-name "ephy_embed_chrome_get_type")
  (return-type "GType")
)

(define-function ephy_embed_print_preview_nav_type_get_type
  (c-name "ephy_embed_print_preview_nav_type_get_type")
  (return-type "GType")
)

(define-function ephy_embed_security_level_get_type
  (c-name "ephy_embed_security_level_get_type")
  (return-type "GType")
)

(define-function ephy_embed_document_type_get_type
  (c-name "ephy_embed_document_type_get_type")
  (return-type "GType")
)

(define-function ephy_embed_event_context_get_type
  (c-name "ephy_embed_event_context_get_type")
  (return-type "GType")
)

(define-function ephy_embed_persist_flags_get_type
  (c-name "ephy_embed_persist_flags_get_type")
  (return-type "GType")
)

(define-function ephy_content_check_type_get_type
  (c-name "ephy_content_check_type_get_type")
  (return-type "GType")
)

(define-function ephy_permission_get_type
  (c-name "ephy_permission_get_type")
  (return-type "GType")
)



;; From ../embed/ephy-embed.h

(define-function ephy_embed_navigation_flags_get_type
  (c-name "ephy_embed_navigation_flags_get_type")
  (return-type "GType")
)

(define-function ephy_embed_address_expire_get_type
  (c-name "ephy_embed_address_expire_get_type")
  (return-type "GType")
)

(define-function ephy_embed_net_state_get_type
  (c-name "ephy_embed_net_state_get_type")
  (return-type "GType")
)

(define-function ephy_embed_chrome_get_type
  (c-name "ephy_embed_chrome_get_type")
  (return-type "GType")
)

(define-function ephy_embed_ppv_navigation_get_type
  (c-name "ephy_embed_ppv_navigation_get_type")
  (return-type "GType")
)

(define-function ephy_embed_security_level_get_type
  (c-name "ephy_embed_security_level_get_type")
  (return-type "GType")
)

(define-function ephy_embed_document_type_get_type
  (c-name "ephy_embed_document_type_get_type")
  (return-type "GType")
)

(define-function ephy_embed_get_type
  (c-name "ephy_embed_get_type")
  (return-type "GType")
)

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

(define-method stop_load
  (of-object "EphyEmbed")
  (c-name "ephy_embed_stop_load")
  (return-type "none")
)

(define-method reload
  (of-object "EphyEmbed")
  (c-name "ephy_embed_reload")
  (return-type "none")
  (parameters
    '("gboolean" "force")
  )
)

(define-method get_title
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_title")
  (return-type "const-char*")
)

(define-method get_location
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_location")
  (return-type "char*")
  (parameters
    '("gboolean" "toplevel")
  )
)

(define-method get_link_message
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_link_message")
  (return-type "const-char*")
)

(define-method get_js_status
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_js_status")
  (return-type "char*")
)

(define-method get_go_up_list
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_go_up_list")
  (return-type "GSList*")
)

(define-method get_security_level
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_security_level")
  (return-type "none")
  (parameters
    '("EphyEmbedSecurityLevel*" "level")
    '("char**" "description")
  )
)

(define-method get_zoom
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_zoom")
  (return-type "float")
)

(define-method get_document_type
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_document_type")
  (return-type "EphyEmbedDocumentType")
)

(define-method get_load_percent
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_load_percent")
  (return-type "int")
)

(define-method get_load_status
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_load_status")
  (return-type "gboolean")
)

(define-method get_navigation_flags
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_navigation_flags")
  (return-type "EphyEmbedNavigationFlags")
)

(define-method get_typed_address
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_typed_address")
  (return-type "const-char*")
)

(define-method get_address
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_address")
  (return-type "const-char*")
)

(define-method get_status_message
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_status_message")
  (return-type "const-char*")
)

(define-method get_icon
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_icon")
  (return-type "GdkPixbuf*")
)

(define-method get_icon_address
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_icon_address")
  (return-type "const-char*")
)

(define-method get_is_blank
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_is_blank")
  (return-type "gboolean")
)

(define-method get_loading_title
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_loading_title")
  (return-type "const-char*")
)

(define-method get_encoding
  (of-object "EphyEmbed")
  (c-name "ephy_embed_get_encoding")
  (return-type "char*")
)

(define-method can_go_back
  (of-object "EphyEmbed")
  (c-name "ephy_embed_can_go_back")
  (return-type "gboolean")
)

(define-method can_go_forward
  (of-object "EphyEmbed")
  (c-name "ephy_embed_can_go_forward")
  (return-type "gboolean")
)

(define-method can_go_up
  (of-object "EphyEmbed")
  (c-name "ephy_embed_can_go_up")
  (return-type "gboolean")
)


(define-method go_back
  (of-object "EphyEmbed")
  (c-name "ephy_embed_go_back")
  (return-type "none")
)

(define-method go_forward
  (of-object "EphyEmbed")
  (c-name "ephy_embed_go_forward")
  (return-type "none")
)

(define-method go_up
  (of-object "EphyEmbed")
  (c-name "ephy_embed_go_up")
  (return-type "none")
)

(define-method shistory_copy
  (of-object "EphyEmbed")
  (c-name "ephy_embed_shistory_copy")
  (return-type "none")
  (parameters
    '("EphyEmbed*" "dest")
    '("gboolean" "copy_back")
    '("gboolean" "copy_forward")
    '("gboolean" "copy_current")
  )
)

(define-method show_page_certificate
  (of-object "EphyEmbed")
  (c-name "ephy_embed_show_page_certificate")
  (return-type "none")
)

(define-method set_zoom
  (of-object "EphyEmbed")
  (c-name "ephy_embed_set_zoom")
  (return-type "none")
  (parameters
    '("float" "zoom")
  )
)

(define-method has_automatic_encoding
  (of-object "EphyEmbed")
  (c-name "ephy_embed_has_automatic_encoding")
  (return-type "gboolean")
)

(define-method set_encoding
  (of-object "EphyEmbed")
  (c-name "ephy_embed_set_encoding")
  (return-type "none")
  (parameters
    '("const-char*" "encoding")
  )
)

(define-method print
  (of-object "EphyEmbed")
  (c-name "ephy_embed_print")
  (return-type "none")
)

(define-method set_print_preview_mode
  (of-object "EphyEmbed")
  (c-name "ephy_embed_set_print_preview_mode")
  (return-type "none")
  (parameters
    '("gboolean" "preview_mode")
  )
)

(define-method print_preview_n_pages
  (of-object "EphyEmbed")
  (c-name "ephy_embed_print_preview_n_pages")
  (return-type "int")
)

(define-method print_preview_navigate
  (of-object "EphyEmbed")
  (c-name "ephy_embed_print_preview_navigate")
  (return-type "none")
  (parameters
    '("EphyEmbedPrintPreviewNavType" "type")
    '("int" "page")
  )
)

(define-method close
  (of-object "EphyEmbed")
  (c-name "ephy_embed_close")
  (return-type "none")
)

(define-method has_modified_forms
  (of-object "EphyEmbed")
  (c-name "ephy_embed_has_modified_forms")
  (return-type "gboolean")
)



;; From ../../embed/ephy-favicon-cache.h

(define-function ephy_favicon_cache_get_type
  (c-name "ephy_favicon_cache_get_type")
  (return-type "GType")
)

; Don't allow creation of another favicon cache
;(define-function ephy_favicon_cache_new
;  (c-name "ephy_favicon_cache_new")
;  (is-constructor-of "EphyFaviconCache")
;  (return-type "EphyFaviconCache*")
;)

(define-method get
  (of-object "EphyFaviconCache")
  (c-name "ephy_favicon_cache_get")
  (return-type "GdkPixbuf*")
  (parameters
    '("const-char*" "url")
  )
)

(define-method clear
  (of-object "EphyFaviconCache")
  (c-name "ephy_favicon_cache_clear")
  (return-type "none")
)


;; From ephy-find-toolbar.h

(define-function ephy_find_toolbar_get_type
  (c-name "ephy_find_toolbar_get_type")
  (return-type "GType")
)

(define-function ephy_find_toolbar_new
  (c-name "ephy_find_toolbar_new")
  (is-constructor-of "EphyFindToolbar")
  (return-type "EphyFindToolbar*")
  (parameters
    '("EphyWindow*" "window")
  )
)

(define-method get_text
  (of-object "EphyFindToolbar")
  (c-name "ephy_find_toolbar_get_text")
  (return-type "const-char*")
)

(define-method set_embed
  (of-object "EphyFindToolbar")
  (c-name "ephy_find_toolbar_set_embed")
  (return-type "none")
  (parameters
    '("EphyEmbed*" "embed")
  )
)

(define-method find_next
  (of-object "EphyFindToolbar")
  (c-name "ephy_find_toolbar_find_next")
  (return-type "none")
)

(define-method find_previous
  (of-object "EphyFindToolbar")
  (c-name "ephy_find_toolbar_find_previous")
  (return-type "none")
)

(define-method open
  (of-object "EphyFindToolbar")
  (c-name "ephy_find_toolbar_open")
  (return-type "none")
  (parameters
    '("gboolean" "links_only")
    '("gboolean" "clear_search")
  )
)

(define-method close
  (of-object "EphyFindToolbar")
  (c-name "ephy_find_toolbar_close")
  (return-type "none")
)

(define-method request_close
  (of-object "EphyFindToolbar")
  (c-name "ephy_find_toolbar_request_close")
  (return-type "none")
)


;; From ../../embed/ephy-history.h

(define-function ephy_history_get_type
  (c-name "ephy_history_get_type")
  (return-type "GType")
)

(define-function ephy_history_new
  (c-name "ephy_history_new")
  (is-constructor-of "EphyHistory")
  (return-type "EphyHistory*")
)

(define-method get_hosts
  (of-object "EphyHistory")
  (c-name "ephy_history_get_hosts")
  (return-type "EphyNode*")
)

(define-method get_host
  (of-object "EphyHistory")
  (c-name "ephy_history_get_host")
  (return-type "EphyNode*")
  (parameters
    '("const-char*" "url")
  )
)

(define-method get_pages
  (of-object "EphyHistory")
  (c-name "ephy_history_get_pages")
  (return-type "EphyNode*")
)

(define-method get_page
  (of-object "EphyHistory")
  (c-name "ephy_history_get_page")
  (return-type "EphyNode*")
  (parameters
    '("const-char*" "url")
  )
)

(define-method add_page
  (of-object "EphyHistory")
  (c-name "ephy_history_add_page")
  (return-type "none")
  (parameters
    '("const-char*" "url")
    '("gboolean" "redirect")
    '("gboolean" "toplevel")
  )
)

(define-method is_page_visited
  (of-object "EphyHistory")
  (c-name "ephy_history_is_page_visited")
  (return-type "gboolean")
  (parameters
    '("const-char*" "url")
  )
)

(define-method get_page_visits
  (of-object "EphyHistory")
  (c-name "ephy_history_get_page_visits")
  (return-type "int")
  (parameters
    '("const-char*" "url")
  )
)

(define-method set_page_title
  (of-object "EphyHistory")
  (c-name "ephy_history_set_page_title")
  (return-type "none")
  (parameters
    '("const-char*" "url")
    '("const-char*" "title")
  )
)

(define-method get_last_page
  (of-object "EphyHistory")
  (c-name "ephy_history_get_last_page")
  (return-type "const-char*")
)

(define-method set_icon
  (of-object "EphyHistory")
  (c-name "ephy_history_set_icon")
  (return-type "none")
  (parameters
    '("const-char*" "url")
    '("const-char*" "icon")
  )
)

(define-method get_icon
  (of-object "EphyHistory")
  (c-name "ephy_history_get_icon")
  (return-type "const-char*")
  (parameters
    '("const-char*" "url")
  )
)

(define-method clear
  (of-object "EphyHistory")
  (c-name "ephy_history_clear")
  (return-type "none")
)

(define-method is_enabled
  (of-object "EphyHistory")
  (c-name "ephy_history_is_enabled")
  (return-type "gboolean")
)



;; From ../../embed/ephy-password-manager.h

(define-function ephy_password_info_get_type
  (c-name "ephy_password_info_get_type")
  (return-type "GType")
)

(define-function ephy_password_info_new
  (c-name "ephy_password_info_new")
  (is-constructor-of "EphyPasswordInfo")
  (return-type "EphyPasswordInfo*")
  (parameters
    '("const-char*" "host")
    '("const-char*" "username")
    '("const-char*" "password")
  )
)

(define-method copy
  (of-object "EphyPasswordInfo")
  (c-name "ephy_password_info_copy")
  (return-type "EphyPasswordInfo*")
)

(define-method free
  (of-object "EphyPasswordInfo")
  (c-name "ephy_password_info_free")
  (return-type "none")
)

(define-function ephy_password_manager_get_type
  (c-name "ephy_password_manager_get_type")
  (return-type "GType")
)

(define-method add_password
  (of-object "EphyPasswordManager")
  (c-name "ephy_password_manager_add_password")
  (return-type "none")
  (parameters
    '("EphyPasswordInfo*" "info")
  )
)

(define-method remove_password
  (of-object "EphyPasswordManager")
  (c-name "ephy_password_manager_remove_password")
  (return-type "none")
  (parameters
    '("EphyPasswordInfo*" "info")
  )
)

(define-method list_passwords
  (of-object "EphyPasswordManager")
  (c-name "ephy_password_manager_list_passwords")
  (return-type "GList*")
)



;; From ../../embed/ephy-permission-manager.h

(define-function ephy_permission_get_type
  (c-name "ephy_permission_get_type")
  (return-type "GType")
)

(define-function ephy_permission_info_get_type
  (c-name "ephy_permission_info_get_type")
  (return-type "GType")
)

(define-function ephy_permission_info_new
  (c-name "ephy_permission_info_new")
  (is-constructor-of "EphyPermissionInfo")
  (return-type "EphyPermissionInfo*")
  (parameters
    '("const-char*" "host")
    '("const-char*" "type")
    '("EphyPermission" "permission")
  )
)

(define-method copy
  (of-object "EphyPermissionInfo")
  (c-name "ephy_permission_info_copy")
  (return-type "EphyPermissionInfo*")
)

(define-method free
  (of-object "EphyPermissionInfo")
  (c-name "ephy_permission_info_free")
  (return-type "none")
)

(define-function ephy_permission_manager_get_type
  (c-name "ephy_permission_manager_get_type")
  (return-type "GType")
)

(define-method add_permission
  (of-object "EphyPermissionManager")
  (c-name "ephy_permission_manager_add_permission")
  (return-type "none")
  (parameters
    '("const-char*" "host")
    '("const-char*" "type")
    '("EphyPermission" "permission")
  )
)

(define-method remove_permission
  (of-object "EphyPermissionManager")
  (c-name "ephy_permission_manager_remove_permission")
  (return-type "none")
  (parameters
    '("const-char*" "host")
    '("const-char*" "type")
  )
)

(define-method clear_permissions
  (of-object "EphyPermissionManager")
  (c-name "ephy_permission_manager_clear_permissions")
  (return-type "none")
)

(define-method test_permission
  (of-object "EphyPermissionManager")
  (c-name "ephy_permission_manager_test_permission")
  (return-type "EphyPermission")
  (parameters
    '("const-char*" "host")
    '("const-char*" "type")
  )
)

(define-method list_permissions
  (of-object "EphyPermissionManager")
  (c-name "ephy_permission_manager_list_permissions")
  (return-type "GList*")
  (parameters
    '("const-char*" "type")
  )
)



;; From ../../lib/egg/egg-editable-toolbar.h

(define-function egg_editable_toolbar_get_type
  (c-name "egg_editable_toolbar_get_type")
  (return-type "GType")
)

; Don't allow creation of another toolbar
;(define-function egg_editable_toolbar_new
;  (c-name "egg_editable_toolbar_new")
;  (is-constructor-of "EggEditableToolbar")
;  (return-type "GtkWidget*")
;  (parameters
;    '("GtkUIManager*" "manager")
;  )
;)

; Don't allow creation of another toolbar
;(define-function egg_editable_toolbar_new_with_model
;  (c-name "egg_editable_toolbar_new_with_model")
;  (return-type "GtkWidget*")
;  (parameters
;    '("GtkUIManager*" "manager")
;    '("EggToolbarsModel*" "model")
;  )
;)

(define-method set_model
  (of-object "EggEditableToolbar")
  (c-name "egg_editable_toolbar_set_model")
  (return-type "none")
  (parameters
    '("EggToolbarsModel*" "model")
  )
)

(define-method get_model
  (of-object "EggEditableToolbar")
  (c-name "egg_editable_toolbar_get_model")
  (return-type "EggToolbarsModel*")
)

(define-method set_edit_mode
  (of-object "EggEditableToolbar")
  (c-name "egg_editable_toolbar_set_edit_mode")
  (return-type "none")
  (parameters
    '("gboolean" "mode")
  )
)

(define-method get_edit_mode
  (of-object "EggEditableToolbar")
  (c-name "egg_editable_toolbar_get_edit_mode")
  (return-type "gboolean")
)

(define-method show
  (of-object "EggEditableToolbar")
  (c-name "egg_editable_toolbar_show")
  (return-type "none")
  (parameters
    '("const-char*" "name")
  )
)

(define-method hide
  (of-object "EggEditableToolbar")
  (c-name "egg_editable_toolbar_hide")
  (return-type "none")
  (parameters
    '("const-char*" "name")
  )
)

(define-method set_drag_dest
  (of-object "EggEditableToolbar")
  (c-name "egg_editable_toolbar_set_drag_dest")
  (return-type "none")
  (parameters
    '("const-GtkTargetEntry*" "targets")
    '("gint" "n_targets")
    '("const-char*" "toolbar_name")
  )
)

(define-method set_fixed
  (of-object "EggEditableToolbar")
  (c-name "egg_editable_toolbar_set_fixed")
  (return-type "none")
  (parameters
    '("GtkToolbar*" "fixed_toolbar")
  )
)



;; From ../../lib/egg/egg-toolbars-model.h

(define-function egg_toolbars_model_flags_get_type
  (c-name "egg_toolbars_model_flags_get_type")
  (return-type "GType")
)

(define-function egg_toolbars_model_get_type
  (c-name "egg_toolbars_model_get_type")
  (return-type "GType")
)

; Don't allow creation of another toolbar
;(define-function egg_toolbars_model_new
;  (c-name "egg_toolbars_model_new")
;  (is-constructor-of "EggToolbarsModel")
;  (return-type "EggToolbarsModel*")
;)

(define-method load_names
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_load_names")
  (return-type "gboolean")
  (parameters
    '("const-char*" "xml_file")
  )
)

(define-method load_toolbars
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_load_toolbars")
  (return-type "gboolean")
  (parameters
    '("const-char*" "xml_file")
  )
)

(define-method save_toolbars
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_save_toolbars")
  (return-type "none")
  (parameters
    '("const-char*" "xml_file")
    '("const-char*" "version")
  )
)

(define-method get_types
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_get_types")
  (return-type "GList*")
)

(define-method set_types
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_set_types")
  (return-type "none")
  (parameters
    '("GList*" "types")
  )
)

; I can't get the GdkAtom compiling
;(define-method get_name
;  (of-object "EggToolbarsModel")
;  (c-name "egg_toolbars_model_get_name")
;  (return-type "char*")
;  (parameters
;    '("GdkAtom" "type")
;    '("const-char*" "data")
;    '("gboolean" "create")
;  )
;)

; I can't get the GdkAtom compiling
;(define-method get_data
;  (of-object "EggToolbarsModel")
;  (c-name "egg_toolbars_model_get_data")
;  (return-type "char*")
;  (parameters
;    '("GdkAtom" "type")
;    '("const-char*" "name")
;  )
;)

(define-method get_name_avail
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_get_name_avail")
  (return-type "GPtrArray*")
)

(define-method get_name_flags
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_get_name_flags")
  (return-type "gint")
  (parameters
    '("const-char*" "name")
  )
)

(define-method set_name_flags
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_set_name_flags")
  (return-type "none")
  (parameters
    '("const-char*" "name")
    '("gint" "count")
  )
)

(define-method get_flags
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_get_flags")
  (return-type "EggTbModelFlags")
  (parameters
    '("int" "toolbar_position")
  )
)

(define-method set_flags
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_set_flags")
  (return-type "none")
  (parameters
    '("int" "toolbar_position")
    '("EggTbModelFlags" "flags")
  )
)

(define-method add_toolbar
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_add_toolbar")
  (return-type "int")
  (parameters
    '("int" "position")
    '("const-char*" "name")
  )
)

(define-method remove_toolbar
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_remove_toolbar")
  (return-type "none")
  (parameters
    '("int" "position")
  )
)

(define-method add_item
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_add_item")
  (return-type "gboolean")
  (parameters
    '("int" "toolbar_position")
    '("int" "position")
    '("const-char*" "name")
  )
)

(define-method remove_item
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_remove_item")
  (return-type "none")
  (parameters
    '("int" "toolbar_position")
    '("int" "position")
  )
)

(define-method move_item
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_move_item")
  (return-type "none")
  (parameters
    '("int" "toolbar_position")
    '("int" "position")
    '("int" "new_toolbar_position")
    '("int" "new_position")
  )
)

(define-method n_items
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_n_items")
  (return-type "int")
  (parameters
    '("int" "toolbar_position")
  )
)

(define-method item_nth
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_item_nth")
  (return-type "const-char*")
  (parameters
    '("int" "toolbar_position")
    '("int" "position")
  )
)

(define-method n_toolbars
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_n_toolbars")
  (return-type "int")
)

(define-method toolbar_nth
  (of-object "EggToolbarsModel")
  (c-name "egg_toolbars_model_toolbar_nth")
  (return-type "const-char*")
  (parameters
    '("int" "position")
  )
)



;; From ../lib/egg/eggtypebuiltins.h

(define-function egg_tb_model_flags_get_type
  (c-name "egg_tb_model_flags_get_type")
  (return-type "GType")
)



;; From ../lib/ephy-dialog.h

(define-function ephy_dialog_get_type
  (c-name "ephy_dialog_get_type")
  (return-type "GType")
)

(define-function ephy_dialog_new
  (c-name "ephy_dialog_new")
  (is-constructor-of "EphyDialog")
  (return-type "EphyDialog*")
)

(define-function ephy_dialog_new_with_parent
  (c-name "ephy_dialog_new_with_parent")
  (is-constructor-of "EphyDialog")
  (return-type "EphyDialog*")
  (parameters
    '("GtkWidget*" "parent_window")
  )
)

(define-method construct
  (of-object "EphyDialog")
  (c-name "ephy_dialog_construct")
  (return-type "none")
  (parameters
    '("const-EphyDialogProperty*" "properties")
    '("const-char*" "file")
    '("const-char*" "name")
    '("const-char*" "domain")
  )
)

(define-method add_enum
  (of-object "EphyDialog")
  (c-name "ephy_dialog_add_enum")
  (return-type "none")
  (parameters
    '("const-char*" "id")
    '("guint" "n_items")
    '("const-char*-const*" "items")
  )
)

(define-method set_data_column
  (of-object "EphyDialog")
  (c-name "ephy_dialog_set_data_column")
  (return-type "none")
  (parameters
    '("const-char*" "id")
    '("int" "col")
  )
)

(define-method set_size_group
  (of-object "EphyDialog")
  (c-name "ephy_dialog_set_size_group")
  (return-type "none")
  (parameters
    '("const-char*" "first_id")
  )
  (varargs #t)
)

(define-method run
  (of-object "EphyDialog")
  (c-name "ephy_dialog_run")
  (return-type "int")
)

(define-method show
  (of-object "EphyDialog")
  (c-name "ephy_dialog_show")
  (return-type "none")
)

(define-method hide
  (of-object "EphyDialog")
  (c-name "ephy_dialog_hide")
  (return-type "none")
)

(define-method set_parent
  (of-object "EphyDialog")
  (c-name "ephy_dialog_set_parent")
  (return-type "none")
  (parameters
    '("GtkWidget*" "parent")
  )
)

(define-method get_parent
  (of-object "EphyDialog")
  (c-name "ephy_dialog_get_parent")
  (return-type "GtkWidget*")
)

(define-method set_modal
  (of-object "EphyDialog")
  (c-name "ephy_dialog_set_modal")
  (return-type "none")
  (parameters
    '("gboolean" "is_modal")
  )
)

(define-method get_control
  (of-object "EphyDialog")
  (c-name "ephy_dialog_get_control")
  (return-type "GtkWidget*")
  (parameters
    '("const-char*" "property_id")
  )
)

(define-method get_controls
  (of-object "EphyDialog")
  (c-name "ephy_dialog_get_controls")
  (return-type "none")
  (parameters
    '("const-char*" "first_property_id")
  )
  (varargs #t)
)

(define-method get_value
  (of-object "EphyDialog")
  (c-name "ephy_dialog_get_value")
  (return-type "gboolean")
  (parameters
    '("const-char*" "property_id")
    '("GValue*" "value")
  )
)

(define-method set_value
  (of-object "EphyDialog")
  (c-name "ephy_dialog_set_value")
  (return-type "none")
  (parameters
    '("const-char*" "property_id")
    '("const-GValue*" "value")
  )
)

(define-method set_pref
  (of-object "EphyDialog")
  (c-name "ephy_dialog_set_pref")
  (return-type "none")
  (parameters
    '("const-char*" "property_id")
    '("const-char*" "pref")
  )
)



;; From ../lib/ephy-lib-type-builtins.h

(define-function ephy_dbus_bus_get_type
  (c-name "ephy_dbus_bus_get_type")
  (return-type "GType")
)

(define-function ephy_node_signal_type_get_type
  (c-name "ephy_node_signal_type_get_type")
  (return-type "GType")
)

(define-function ephy_state_window_flags_get_type
  (c-name "ephy_state_window_flags_get_type")
  (return-type "GType")
)



;; From ../lib/ephy-node-db.h

(define-function ephy_node_db_get_type
  (c-name "ephy_node_db_get_type")
  (return-type "GType")
)

(define-function ephy_node_db_new
  (c-name "ephy_node_db_new")
  (is-constructor-of "EphyNodeDb")
  (return-type "EphyNodeDb*")
  (parameters
    '("const-char*" "name")
  )
)

(define-method load_from_file
  (of-object "EphyNodeDb")
  (c-name "ephy_node_db_load_from_file")
  (return-type "gboolean")
  (parameters
    '("const-char*" "xml_file")
    '("const-xmlChar*" "xml_root")
    '("const-xmlChar*" "xml_version")
  )
)

(define-method write_to_xml_safe
  (of-object "EphyNodeDb")
  (c-name "ephy_node_db_write_to_xml_safe")
  (return-type "int")
  (parameters
    '("const-xmlChar*" "filename")
    '("const-xmlChar*" "root")
    '("const-xmlChar*" "version")
    '("const-xmlChar*" "comment")
    '("EphyNode*" "node")
  )
  (varargs #t)
)

(define-method get_name
  (of-object "EphyNodeDb")
  (c-name "ephy_node_db_get_name")
  (return-type "const-char*")
)

(define-method is_immutable
  (of-object "EphyNodeDb")
  (c-name "ephy_node_db_is_immutable")
  (return-type "gboolean")
)

(define-method set_immutable
  (of-object "EphyNodeDb")
  (c-name "ephy_node_db_set_immutable")
  (return-type "none")
  (parameters
    '("gboolean" "immutable")
  )
)

(define-method get_node_from_id
  (of-object "EphyNodeDb")
  (c-name "ephy_node_db_get_node_from_id")
  (return-type "EphyNode*")
  (parameters
    '("guint" "id")
  )
)



;; From ../../lib/ephy-node.h

(define-function ephy_node_get_type
  (c-name "ephy_node_get_type")
  (return-type "GType")
)

(define-function ephy_node_new
  (c-name "ephy_node_new")
  (is-constructor-of "EphyNode")
  (return-type "EphyNode*")
  (parameters
    '("EphyNodeDb*" "db")
  )
)

(define-function ephy_node_new_with_id
  (c-name "ephy_node_new_with_id")
  (return-type "EphyNode*")
  (parameters
    '("EphyNodeDb*" "db")
    '("guint" "reserved_id")
  )
)

(define-method get_db
  (of-object "EphyNode")
  (c-name "ephy_node_get_db")
  (return-type "EphyNodeDb*")
)

(define-method get_id
  (of-object "EphyNode")
  (c-name "ephy_node_get_id")
  (return-type "guint")
)

(define-method ref
  (of-object "EphyNode")
  (c-name "ephy_node_ref")
  (return-type "none")
)

(define-method unref
  (of-object "EphyNode")
  (c-name "ephy_node_unref")
  (return-type "none")
)

(define-method signal_connect_object
  (of-object "EphyNode")
  (c-name "ephy_node_signal_connect_object")
  (return-type "int")
  (parameters
    '("EphyNodeSignalType" "type")
    '("EphyNodeCallback" "callback")
    '("GObject*" "object")
  )
)

(define-method signal_disconnect_object
  (of-object "EphyNode")
  (c-name "ephy_node_signal_disconnect_object")
  (return-type "guint")
  (parameters
    '("EphyNodeSignalType" "type")
    '("EphyNodeCallback" "callback")
    '("GObject*" "object")
  )
)

(define-method signal_disconnect
  (of-object "EphyNode")
  (c-name "ephy_node_signal_disconnect")
  (return-type "none")
  (parameters
    '("int" "signal_id")
  )
)

(define-method set_property
  (of-object "EphyNode")
  (c-name "ephy_node_set_property")
  (return-type "none")
  (parameters
    '("guint" "property_id")
    '("const-GValue*" "value")
  )
)

(define-method get_property
  (of-object "EphyNode")
  (c-name "ephy_node_get_property")
  (return-type "gboolean")
  (parameters
    '("guint" "property_id")
    '("GValue*" "value")
  )
)

(define-method set_property_string
  (of-object "EphyNode")
  (c-name "ephy_node_set_property_string")
  (return-type "none")
  (parameters
    '("guint" "property_id")
    '("const-char*" "value")
  )
)

(define-method get_property_string
  (of-object "EphyNode")
  (c-name "ephy_node_get_property_string")
  (return-type "const-char*")
  (parameters
    '("guint" "property_id")
  )
)

(define-method set_property_boolean
  (of-object "EphyNode")
  (c-name "ephy_node_set_property_boolean")
  (return-type "none")
  (parameters
    '("guint" "property_id")
    '("gboolean" "value")
  )
)

(define-method get_property_boolean
  (of-object "EphyNode")
  (c-name "ephy_node_get_property_boolean")
  (return-type "gboolean")
  (parameters
    '("guint" "property_id")
  )
)

(define-method set_property_long
  (of-object "EphyNode")
  (c-name "ephy_node_set_property_long")
  (return-type "none")
  (parameters
    '("guint" "property_id")
    '("long" "value")
  )
)

(define-method get_property_long
  (of-object "EphyNode")
  (c-name "ephy_node_get_property_long")
  (return-type "long")
  (parameters
    '("guint" "property_id")
  )
)

(define-method set_property_int
  (of-object "EphyNode")
  (c-name "ephy_node_set_property_int")
  (return-type "none")
  (parameters
    '("guint" "property_id")
    '("int" "value")
  )
)

(define-method get_property_int
  (of-object "EphyNode")
  (c-name "ephy_node_get_property_int")
  (return-type "int")
  (parameters
    '("guint" "property_id")
  )
)

(define-method set_property_double
  (of-object "EphyNode")
  (c-name "ephy_node_set_property_double")
  (return-type "none")
  (parameters
    '("guint" "property_id")
    '("double" "value")
  )
)

(define-method get_property_double
  (of-object "EphyNode")
  (c-name "ephy_node_get_property_double")
  (return-type "double")
  (parameters
    '("guint" "property_id")
  )
)

(define-method set_property_float
  (of-object "EphyNode")
  (c-name "ephy_node_set_property_float")
  (return-type "none")
  (parameters
    '("guint" "property_id")
    '("float" "value")
  )
)

(define-method get_property_float
  (of-object "EphyNode")
  (c-name "ephy_node_get_property_float")
  (return-type "float")
  (parameters
    '("guint" "property_id")
  )
)

(define-method get_property_node
  (of-object "EphyNode")
  (c-name "ephy_node_get_property_node")
  (return-type "EphyNode*")
  (parameters
    '("guint" "property_id")
  )
)

(define-method write_to_xml
  (of-object "EphyNode")
  (c-name "ephy_node_write_to_xml")
  (return-type "int")
  (parameters
    '("xmlTextWriterPtr" "writer")
  )
)

(define-function ephy_node_new_from_xml
  (c-name "ephy_node_new_from_xml")
  (return-type "EphyNode*")
  (parameters
    '("EphyNodeDb*" "db")
    '("xmlNodePtr" "xml_node")
  )
)

(define-method add_child
  (of-object "EphyNode")
  (c-name "ephy_node_add_child")
  (return-type "none")
  (parameters
    '("EphyNode*" "child")
  )
)

(define-method remove_child
  (of-object "EphyNode")
  (c-name "ephy_node_remove_child")
  (return-type "none")
  (parameters
    '("EphyNode*" "child")
  )
)

(define-method sort_children
  (of-object "EphyNode")
  (c-name "ephy_node_sort_children")
  (return-type "none")
  (parameters
    '("GCompareFunc" "compare_func")
  )
)

(define-method has_child
  (of-object "EphyNode")
  (c-name "ephy_node_has_child")
  (return-type "gboolean")
  (parameters
    '("EphyNode*" "child")
  )
)

(define-method reorder_children
  (of-object "EphyNode")
  (c-name "ephy_node_reorder_children")
  (return-type "none")
  (parameters
    '("int*" "new_order")
  )
)

(define-method get_children
  (of-object "EphyNode")
  (c-name "ephy_node_get_children")
  (return-type "GPtrArray*")
)

(define-method get_n_children
  (of-object "EphyNode")
  (c-name "ephy_node_get_n_children")
  (return-type "int")
)

(define-method get_nth_child
  (of-object "EphyNode")
  (c-name "ephy_node_get_nth_child")
  (return-type "EphyNode*")
  (parameters
    '("guint" "n")
  )
)

(define-method get_child_index
  (of-object "EphyNode")
  (c-name "ephy_node_get_child_index")
  (return-type "int")
  (parameters
    '("EphyNode*" "child")
  )
)

(define-method get_next_child
  (of-object "EphyNode")
  (c-name "ephy_node_get_next_child")
  (return-type "EphyNode*")
  (parameters
    '("EphyNode*" "child")
  )
)

(define-method get_previous_child
  (of-object "EphyNode")
  (c-name "ephy_node_get_previous_child")
  (return-type "EphyNode*")
  (parameters
    '("EphyNode*" "child")
  )
)

(define-method set_is_drag_source
  (of-object "EphyNode")
  (c-name "ephy_node_set_is_drag_source")
  (return-type "none")
  (parameters
    '("gboolean" "allow")
  )
)

(define-method get_is_drag_source
  (of-object "EphyNode")
  (c-name "ephy_node_get_is_drag_source")
  (return-type "gboolean")
)

(define-method set_is_drag_dest
  (of-object "EphyNode")
  (c-name "ephy_node_set_is_drag_dest")
  (return-type "none")
  (parameters
    '("gboolean" "allow")
  )
)

(define-method get_is_drag_dest
  (of-object "EphyNode")
  (c-name "ephy_node_get_is_drag_dest")
  (return-type "gboolean")
)



;; From ../../lib/ephy-state.h

(define-function ephy_state_add_window
  (c-name "ephy_state_add_window")
  (return-type "none")
  (parameters
    '("GtkWidget*" "window")
    '("const-char*" "name")
    '("int" "default_width")
    '("int" "default_heigth")
    '("gboolean" "maximize")
    '("EphyStateWindowFlags" "flags")
  )
)

(define-function ephy_state_add_paned
  (c-name "ephy_state_add_paned")
  (return-type "none")
  (parameters
    '("GtkWidget*" "paned")
    '("const-char*" "name")
    '("int" "default_width")
  )
)

(define-function ephy_state_add_expander
  (c-name "ephy_state_add_expander")
  (return-type "none")
  (parameters
    '("GtkWidget*" "widget")
    '("const-char*" "name")
    '("gboolean" "default_state")
  )
)

(define-function ephy_state_save
  (c-name "ephy_state_save")
  (return-type "none")
)



;; From ../../lib/widgets/ephy-search-entry.h

(define-function ephy_search_entry_get_type
  (c-name "ephy_search_entry_get_type")
  (return-type "GType")
)

(define-function ephy_search_entry_new
  (c-name "ephy_search_entry_new")
  (is-constructor-of "EphySearchEntry")
  (return-type "GtkWidget*")
)

(define-method clear
  (of-object "EphySearchEntry")
  (c-name "ephy_search_entry_clear")
  (return-type "none")
)



;; From ../../lib/widgets/ephy-spinner.h

(define-function ephy_spinner_get_type
  (c-name "ephy_spinner_get_type")
  (return-type "GType")
)

(define-function ephy_spinner_new
  (c-name "ephy_spinner_new")
  (is-constructor-of "EphySpinner")
  (return-type "GtkWidget*")
)

(define-method start
  (of-object "EphySpinner")
  (c-name "ephy_spinner_start")
  (return-type "none")
)

(define-method stop
  (of-object "EphySpinner")
  (c-name "ephy_spinner_stop")
  (return-type "none")
)

(define-method set_size
  (of-object "EphySpinner")
  (c-name "ephy_spinner_set_size")
  (return-type "none")
  (parameters
    '("GtkIconSize" "size")
  )
)



;; From ../src/bookmarks/ephy-bookmarks-type-builtins.h

(define-function ephy_bookmark_property_get_type
  (c-name "ephy_bookmark_property_get_type")
  (return-type "GType")
)



;; From ../src/bookmarks/ephy-bookmarks.h

(define-function ephy_bookmarks_get_type
  (c-name "ephy_bookmarks_get_type")
  (return-type "GType")
)

(define-function ephy_bookmarks_new
  (c-name "ephy_bookmarks_new")
  (is-constructor-of "EphyBookmarks")
  (return-type "EphyBookmarks*")
)

(define-method get_from_id
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_get_from_id")
  (return-type "EphyNode*")
  (parameters
    '("long" "id")
  )
)

(define-method add
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_add")
  (return-type "EphyNode*")
  (parameters
    '("const-char*" "title")
    '("const-char*" "url")
  )
)

(define-method find_bookmark
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_find_bookmark")
  (return-type "EphyNode*")
  (parameters
    '("const-char*" "url")
  )
)

(define-method set_icon
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_set_icon")
  (return-type "none")
  (parameters
    '("const-char*" "url")
    '("const-char*" "icon")
  )
)

(define-method set_address
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_set_address")
  (return-type "none")
  (parameters
    '("EphyNode*" "bookmark")
    '("const-char*" "address")
  )
)

(define-method resolve_address
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_resolve_address")
  (return-type "char*")
  (parameters
    '("const-char*" "address")
    '("const-char*" "parameter")
  )
)

(define-function ephy_bookmarks_get_smart_bookmark_width
  (c-name "ephy_bookmarks_get_smart_bookmark_width")
  (return-type "guint")
  (parameters
    '("EphyNode*" "bookmark")
  )
)

(define-method add_keyword
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_add_keyword")
  (return-type "EphyNode*")
  (parameters
    '("const-char*" "name")
  )
)

(define-method find_keyword
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_find_keyword")
  (return-type "EphyNode*")
  (parameters
    '("const-char*" "name")
    '("gboolean" "partial_match")
  )
)

(define-method remove_keyword
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_remove_keyword")
  (return-type "none")
  (parameters
    '("EphyNode*" "keyword")
  )
)

(define-method has_keyword
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_has_keyword")
  (return-type "gboolean")
  (parameters
    '("EphyNode*" "keyword")
    '("EphyNode*" "bookmark")
  )
)

(define-method set_keyword
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_set_keyword")
  (return-type "none")
  (parameters
    '("EphyNode*" "keyword")
    '("EphyNode*" "bookmark")
  )
)

(define-method unset_keyword
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_unset_keyword")
  (return-type "none")
  (parameters
    '("EphyNode*" "keyword")
    '("EphyNode*" "bookmark")
  )
)

(define-method get_topic_uri
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_get_topic_uri")
  (return-type "char*")
  (parameters
    '("EphyNode*" "node")
  )
)

(define-method get_favorites
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_get_favorites")
  (return-type "EphyNode*")
)

(define-method get_keywords
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_get_keywords")
  (return-type "EphyNode*")
)

(define-method get_bookmarks
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_get_bookmarks")
  (return-type "EphyNode*")
)

(define-method get_not_categorized
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_get_not_categorized")
  (return-type "EphyNode*")
)

(define-method get_smart_bookmarks
  (of-object "EphyBookmarks")
  (c-name "ephy_bookmarks_get_smart_bookmarks")
  (return-type "EphyNode*")
)


; This is conditional on configure checks, so might not
; always be available
;(define-method get_local
;  (of-object "EphyBookmarks")
;  (c-name "ephy_bookmarks_get_local")
;  (return-type "EphyNode*")
;)

(define-function ephy_bookmarks_compare_topics
  (c-name "ephy_bookmarks_compare_topics")
  (return-type "int")
  (parameters
    '("gconstpointer" "a")
    '("gconstpointer" "b")
  )
)

(define-function ephy_bookmarks_compare_topic_pointers
  (c-name "ephy_bookmarks_compare_topic_pointers")
  (return-type "int")
  (parameters
    '("gconstpointer" "a")
    '("gconstpointer" "b")
  )
)

(define-function ephy_bookmarks_compare_bookmarks
  (c-name "ephy_bookmarks_compare_bookmarks")
  (return-type "int")
  (parameters
    '("gconstpointer" "a")
    '("gconstpointer" "b")
  )
)

(define-function ephy_bookmarks_compare_bookmark_pointers
  (c-name "ephy_bookmarks_compare_bookmark_pointers")
  (return-type "int")
  (parameters
    '("gconstpointer" "a")
    '("gconstpointer" "b")
  )
)



;; From ../src/ephy-extension.h

(define-function ephy_extension_get_type
  (c-name "ephy_extension_get_type")
  (return-type "GType")
)

(define-method attach_window
  (of-object "EphyExtension")
  (c-name "ephy_extension_attach_window")
  (return-type "none")
  (parameters
    '("EphyWindow*" "window")
  )
)

(define-method detach_window
  (of-object "EphyExtension")
  (c-name "ephy_extension_detach_window")
  (return-type "none")
  (parameters
    '("EphyWindow*" "window")
  )
)

(define-method attach_tab
  (of-object "EphyExtension")
  (c-name "ephy_extension_attach_tab")
  (return-type "none")
  (parameters
    '("EphyWindow*" "window")
    '("EphyEmbed*" "tab")
  )
)

(define-method detach_tab
  (of-object "EphyExtension")
  (c-name "ephy_extension_detach_tab")
  (return-type "none")
  (parameters
    '("EphyWindow*" "window")
    '("EphyEmbed*" "tab")
  )
)



;; From ../../src/ephy-extensions-manager.h

(define-function ephy_extensions_manager_get_type
  (c-name "ephy_extensions_manager_get_type")
  (return-type "GType")
)

(define-method startup
  (of-object "EphyExtensionsManager")
  (c-name "ephy_extensions_manager_startup")
  (return-type "none")
)

(define-method load
  (of-object "EphyExtensionsManager")
  (c-name "ephy_extensions_manager_load")
  (return-type "none")
  (parameters
    '("const-char*" "identifier")
  )
)

(define-method unload
  (of-object "EphyExtensionsManager")
  (c-name "ephy_extensions_manager_unload")
  (return-type "none")
  (parameters
    '("const-char*" "identifier")
  )
)

(define-method register
  (of-object "EphyExtensionsManager")
  (c-name "ephy_extensions_manager_register")
  (return-type "none")
  (parameters
    '("GObject*" "object")
  )
)

(define-method get_extensions
  (of-object "EphyExtensionsManager")
  (c-name "ephy_extensions_manager_get_extensions")
  (return-type "GList*")
)



;; From ../../src/ephy-link-action.h

(define-function ephy_link_action_get_type
  (c-name "ephy_link_action_get_type")
  (return-type "GType")
)

(define-function ephy_link_action_group_get_type
  (c-name "ephy_link_action_group_get_type")
  (return-type "GType")
)

(define-function ephy_link_action_group_new
  (c-name "ephy_link_action_group_new")
  (is-constructor-of "EphyLinkActionGroup")
  (return-type "EphyLinkActionGroup*")
  (parameters
    '("char*" "name")
  )
)



;; From ../src/ephy-link.h

(define-function ephy_link_flags_get_type
  (c-name "ephy_link_flags_get_type")
  (return-type "GType")
)

(define-function ephy_link_get_type
  (c-name "ephy_link_get_type")
  (return-type "GType")
)

(define-method open
  (of-object "EphyLink")
  (c-name "ephy_link_open")
  (return-type "EphyEmbed*")
  (parameters
    '("const-char*" "address")
    '("EphyEmbed*" "tab")
    '("EphyLinkFlags" "flags")
  )
)



;; From ../../src/ephy-location-action.h

(define-function ephy_location_action_get_type
  (c-name "ephy_location_action_get_type")
  (return-type "GType")
)

(define-method get_address
  (of-object "EphyLocationAction")
  (c-name "ephy_location_action_get_address")
  (return-type "const-char*")
)

(define-method set_address
  (of-object "EphyLocationAction")
  (c-name "ephy_location_action_set_address")
  (return-type "none")
  (parameters
    '("const-char*" "address")
    '("const-char*" "typed_address")
  )
)



;; From ../../src/ephy-notebook.h

(define-function ephy_notebook_get_type
  (c-name "ephy_notebook_get_type")
  (return-type "GType")
)

(define-method add_tab
  (of-object "EphyNotebook")
  (c-name "ephy_notebook_add_tab")
  (return-type "none")
  (parameters
    '("EphyEmbed*" "tab")
    '("int" "position")
    '("gboolean" "jump_to")
  )
)

(define-method set_show_tabs
  (of-object "EphyNotebook")
  (c-name "ephy_notebook_set_show_tabs")
  (return-type "none")
  (parameters
    '("gboolean" "show_tabs")
  )
)

(define-method set_dnd_enabled
  (of-object "EphyNotebook")
  (c-name "ephy_notebook_set_dnd_enabled")
  (return-type "none")
  (parameters
    '("gboolean" "enabled")
  )
)

(define-method get_focused_pages
  (of-object "EphyNotebook")
  (c-name "ephy_notebook_get_focused_pages")
  (return-type "GList*")
)


;; From ../../src/ephy-session.h

(define-function ephy_session_get_type
  (c-name "ephy_session_get_type")
  (return-type "GType")
)

(define-method get_active_window
  (of-object "EphySession")
  (c-name "ephy_session_get_active_window")
  (return-type "EphyWindow*")
)

(define-method save
  (of-object "EphySession")
  (c-name "ephy_session_save")
  (return-type "gboolean")
  (parameters
    '("const-char*" "filename")
  )
)

(define-method load
  (of-object "EphySession")
  (c-name "ephy_session_load")
  (return-type "gboolean")
  (parameters
    '("const-char*" "filename")
    '("guint32" "user_time")
  )
)

(define-method close
  (of-object "EphySession")
  (c-name "ephy_session_close")
  (return-type "none")
)

(define-method get_windows
  (of-object "EphySession")
  (c-name "ephy_session_get_windows")
  (return-type "GList*")
)

(define-method add_window
  (of-object "EphySession")
  (c-name "ephy_session_add_window")
  (return-type "none")
  (parameters
    '("GtkWindow*" "window")
  )
)

(define-method remove_window
  (of-object "EphySession")
  (c-name "ephy_session_remove_window")
  (return-type "none")
  (parameters
    '("GtkWindow*" "window")
  )
)



;; From ../../src/ephy-shell.h


(define-function ephy_new_tab_flags_get_type
  (c-name "ephy_new_tab_flags_get_type")
  (return-type "GType")
)

(define-function ephy_shell_get_type
  (c-name "ephy_shell_get_type")
  (return-type "GType")
)

(define-function ephy_shell_get_default
  (c-name "ephy_shell_get_default")
  (return-type "EphyShell*")
)

;(define-function ephy_shell_new
;  (c-name "ephy_shell_new")
;  (is-constructor-of "EphyShell")
;  (return-type "EphyShell*")
;)

(define-method new_tab
  (of-object "EphyShell")
  (c-name "ephy_shell_new_tab")
  (return-type "EphyEmbed*")
  (parameters
    '("EphyWindow*" "parent_window")
    '("EphyEmbed*" "previous_tab")
    '("const-char*" "url")
    '("EphyNewTabFlags" "flags")
  )
)

(define-method new_tab_full
  (of-object "EphyShell")
  (c-name "ephy_shell_new_tab_full")
  (return-type "EphyEmbed*")
  (parameters
    '("EphyWindow*" "parent_window")
    '("EphyEmbed*" "previous_tab")
    '("const-char*" "url")
    '("EphyNewTabFlags" "flags")
    '("EphyEmbedChrome" "chrome")
    '("gboolean" "is_popup")
    '("guint32" "user_time")
  )
)

(define-method get_session
  (of-object "EphyShell")
  (c-name "ephy_shell_get_session")
  (return-type "GObject*")
)

(define-method get_bookmarks
  (of-object "EphyShell")
  (c-name "ephy_shell_get_bookmarks")
  (return-type "EphyBookmarks*")
)

(define-method get_toolbars_model
  (of-object "EphyShell")
  (c-name "ephy_shell_get_toolbars_model")
  (return-type "GObject*")
  (parameters
    '("gboolean" "fullscreen")
  )
)

(define-method get_extensions_manager
  (of-object "EphyShell")
  (c-name "ephy_shell_get_extensions_manager")
  (return-type "GObject*")
)

(define-method get_bookmarks_editor
  (of-object "EphyShell")
  (c-name "ephy_shell_get_bookmarks_editor")
  (return-type "GtkWidget*")
)

(define-method get_history_window
  (of-object "EphyShell")
  (c-name "ephy_shell_get_history_window")
  (return-type "GtkWidget*")
)

(define-method get_pdm_dialog
  (of-object "EphyShell")
  (c-name "ephy_shell_get_pdm_dialog")
  (return-type "GObject*")
)

(define-method get_prefs_dialog
  (of-object "EphyShell")
  (c-name "ephy_shell_get_prefs_dialog")
  (return-type "GObject*")
)

(define-method get_dbus_service
  (of-object "EphyShell")
  (c-name "ephy_shell_get_dbus_service")
  (return-type "GObject*")
)



;; From ../../src/ephy-statusbar.h

(define-function ephy_statusbar_get_type
  (c-name "ephy_statusbar_get_type")
  (return-type "GType")
)

;(define-function ephy_statusbar_new
;  (c-name "ephy_statusbar_new")
;  (is-constructor-of "EphyStatusbar")
;  (return-type "GtkWidget*")
;)

(define-method get_security_frame
  (of-object "EphyStatusbar")
  (c-name "ephy_statusbar_get_security_frame")
  (return-type "GtkWidget*")
)

(define-method set_security_state
  (of-object "EphyStatusbar")
  (c-name "ephy_statusbar_set_security_state")
  (return-type "none")
  (parameters
    '("const-char*" "stock_id")
    '("const-char*" "tooltip")
  )
)

(define-method set_popups_state
  (of-object "EphyStatusbar")
  (c-name "ephy_statusbar_set_popups_state")
  (return-type "none")
  (parameters
    '("gboolean" "hidden")
    '("const-char*" "tooltip")
  )
)

(define-method set_progress
  (of-object "EphyStatusbar")
  (c-name "ephy_statusbar_set_progress")
  (return-type "none")
  (parameters
    '("int" "progress")
  )
)

(define-method add_widget
  (of-object "EphyStatusbar")
  (c-name "ephy_statusbar_add_widget")
  (return-type "none")
  (parameters
    '("GtkWidget*" "widget")
  )
)

(define-method remove_widget
  (of-object "EphyStatusbar")
  (c-name "ephy_statusbar_remove_widget")
  (return-type "none")
  (parameters
    '("GtkWidget*" "widget")
  )
)



;; From ../../src/ephy-toolbar.h

(define-function ephy_toolbar_get_type
  (c-name "ephy_toolbar_get_type")
  (return-type "GType")
)

; Don't allow creation of another toolbar
;(define-function ephy_toolbar_new
;  (c-name "ephy_toolbar_new")
;  (is-constructor-of "EphyToolbar")
;  (return-type "EphyToolbar*")
;  (parameters
;    '("EphyWindow*" "window")
;  )
;)

(define-method set_favicon
  (of-object "EphyToolbar")
  (c-name "ephy_toolbar_set_favicon")
  (return-type "none")
  (parameters
    '("GdkPixbuf*" "icon")
  )
)

(define-method set_show_leave_fullscreen
  (of-object "EphyToolbar")
  (c-name "ephy_toolbar_set_show_leave_fullscreen")
  (return-type "none")
  (parameters
    '("gboolean" "show")
  )
)

(define-method activate_location
  (of-object "EphyToolbar")
  (c-name "ephy_toolbar_activate_location")
  (return-type "none")
)

(define-method get_location
  (of-object "EphyToolbar")
  (c-name "ephy_toolbar_get_location")
  (return-type "const-char*")
)

; Don't allow setting the location
;(define-method set_location
;  (of-object "EphyToolbar")
;  (c-name "ephy_toolbar_set_location")
;  (return-type "none")
;  (parameters
;    '("const-char*" "address")
;    '("const-char*" "typed_address")
;  )
;)

; Don't allow setting the nav actions
;(define-method set_navigation_actions
;  (of-object "EphyToolbar")
;  (c-name "ephy_toolbar_set_navigation_actions")
;  (return-type "none")
;  (parameters
;    '("gboolean" "back")
;    '("gboolean" "forward")
;    '("gboolean" "up")
;  )
;)

; Don't allow setting the security state
;(define-method set_security_state
;  (of-object "EphyToolbar")
;  (c-name "ephy_toolbar_set_security_state")
;  (return-type "none")
;  (parameters
;    '("gboolean" "is_secure")
;    '("gboolean" "show_lock")
;    '("const-char*" "stock_id")
;    '("const-char*" "tooltip")
;  )
;)

; Don't allow control of the spinner
;(define-method set_spinning
;  (of-object "EphyToolbar")
;  (c-name "ephy_toolbar_set_spinning")
;  (return-type "none")
;  (parameters
;    '("gboolean" "spinning")
;  )
;)

; Don't allow control of the zoom widget
;(define-method set_zoom
;  (of-object "EphyToolbar")
;  (c-name "ephy_toolbar_set_zoom")
;  (return-type "none")
;  (parameters
;    '("gboolean" "can_zoom")
;    '("float" "zoom")
;  )
;)


;; From ../src/ephy-type-builtins.h

(define-function ephy_link_flags_get_type
  (c-name "ephy_link_flags_get_type")
  (return-type "GType")
)

(define-function ephy_new_tab_flags_get_type
  (c-name "ephy_new_tab_flags_get_type")
  (return-type "GType")
)

(define-function ephy_navigation_direction_get_type
  (c-name "ephy_navigation_direction_get_type")
  (return-type "GType")
)



;; From ../src/ephy-window.h

(define-function ephy_window_get_type
  (c-name "ephy_window_get_type")
  (return-type "GType")
)

(define-function ephy_window_new
  (c-name "ephy_window_new")
  (is-constructor-of "EphyWindow")
  (return-type "EphyWindow*")
)

(define-function ephy_window_new_with_chrome
  (c-name "ephy_window_new_with_chrome")
  (return-type "EphyWindow*")
  (parameters
    '("EphyEmbedChrome" "chrome")
    '("gboolean" "is_popup")
  )
)

(define-method get_ui_manager
  (of-object "EphyWindow")
  (c-name "ephy_window_get_ui_manager")
  (return-type "GObject*")
)

(define-method get_toolbar
  (of-object "EphyWindow")
  (c-name "ephy_window_get_toolbar")
  (return-type "GtkWidget*")
)

(define-method get_notebook
  (of-object "EphyWindow")
  (c-name "ephy_window_get_notebook")
  (return-type "GtkWidget*")
)

(define-method get_find_toolbar
  (of-object "EphyWindow")
  (c-name "ephy_window_get_find_toolbar")
  (return-type "GtkWidget*")
)

(define-method get_statusbar
  (of-object "EphyWindow")
  (c-name "ephy_window_get_statusbar")
  (return-type "GtkWidget*")
)

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

(define-method set_zoom
  (of-object "EphyWindow")
  (c-name "ephy_window_set_zoom")
  (return-type "none")
  (parameters
    '("float" "zoom")
  )
)

(define-method activate_location
  (of-object "EphyWindow")
  (c-name "ephy_window_activate_location")
  (return-type "none")
)

(define-method get_is_print_preview
  (of-object "EphyWindow")
  (c-name "ephy_window_get_is_print_preview")
  (return-type "gboolean")
)

(define-method get_context_event
  (of-object "EphyWindow")
  (c-name "ephy_window_get_context_event")
  (return-type "EphyEmbedEvent*")
)


;; Boxed types ...

(define-boxed Cookie
  (in-module "Ephy")
  (c-name "EphyCookie")
  (gtype-id "EPHY_TYPE_COOKIE")
  (fields
    '("char*" "name")
    '("char*" "value")
    '("char*" "domain")
    '("char*" "path")
    '("gulong" "expires")
    '("glong" "real_expires")
    '("guint" "is_secure")
    '("guint" "is_session")
  )
)

(define-boxed PasswordInfo
  (in-module "Ephy")
  (c-name "EphyPasswordInfo")
  (gtype-id  "EPHY_TYPE_PASSWORD_INFO")
  (copy_func "ephy_password_info_copy")
  (release-func "ephy_password_info_free")
  (fields
    '("char*" "host")
    '("char*" "username")
    '("char*" "password")
  )
)

(define-boxed Node
  (in-module "Ephy")
  (c-name "EphyNode")
  (gtype-id "EPHY_TYPE_NODE")
)

(define-boxed PermissionInfo
  (in-module "Ephy")
  (c-name "EphyPermissionInfo")
  (gtype-id  "EPHY_TYPE_PERMISSION_INFO")
  (fields
    '("char*" "host")
    '("GQuark" "type")
    '("EphyPermission" "permission")
  )
)
