//----------------------------------------------------------------------------
// This is autogenerated code by CppSharp.
// Do not edit this file or all your changes will be lost after re-generation.
//----------------------------------------------------------------------------
using System;
using System.Runtime.InteropServices;
using System.Security;

namespace Webbed.Scripting.Interop
{
    // DEBUG: typedef struct _WebKitIconDatabasePrivate WebKitIconDatabasePrivate
    // DEBUG: struct _WebKitIconDatabasePrivate
    [StructLayout(LayoutKind.Explicit, Size = 0)]
    public unsafe struct _cPrivate
    {
    }

    // DEBUG: struct _WebKitIconDatabase { GObject parent_instance; /*< private >*/ WebKitIconDatabasePrivate* priv;}
    [StructLayout(LayoutKind.Explicit, Size = 16)]
    public unsafe struct _WebKitIconDatabase
    {
        // DEBUG: GObject parent_instance
        [FieldOffset(0)]
        public _GObject parent_instance;

        // DEBUG: WebKitIconDatabasePrivate* priv
        [FieldOffset(12)]
        public global::System.IntPtr priv;
    }

    // DEBUG: struct _WebKitIconDatabaseClass { GObjectClass parent_class; /* Padding for future expansion */ void (*_webkit_reserved1) (void); void (*_webkit_reserved2) (void); void (*_webkit_reserved3) (void); void (*_webkit_reserved4) (void);}
    [StructLayout(LayoutKind.Explicit, Size = 84)]
    public unsafe struct _WebKitIconDatabaseClass
    {
        // DEBUG: GObjectClass parent_class
        [FieldOffset(0)]
        public _GObjectClass parent_class;
    }

    public unsafe partial class WebKitIconDatabase : GLib.Object
    {
        public WebKitIconDatabase(IntPtr handle):base(handle){};
        // DEBUG: WEBKIT_API GTypewebkit_icon_database_get_type (void)
        [SuppressUnmanagedCodeSecurity]
        [DllImport("webkitgtk-1.0", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
            EntryPoint="webkit_icon_database_get_type")]
        internal static extern uint webkit_icon_database_get_type();

        public GLib.GType Type
        {
            get
            {
                return new GLib.GType((IntPtr)webkit_icon_database_get_type());
            }

        }

        // DEBUG: WEBKIT_API const gchar*webkit_icon_database_get_path (WebKitIconDatabase* database)
        [SuppressUnmanagedCodeSecurity]
        [DllImport("webkitgtk-1.0", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, CharSet = CharSet.Ansi
            EntryPoint="webkit_icon_database_get_path")]
        internal static extern string webkit_icon_database_get_path(global::System.IntPtr database);

        public string Path
        {
            get
            {
                return webkit_icon_database_get_path(this.Handle);
            }
            set{
                webkit_icon_database_set_path(this.Handle, value);
            }
        }

        // DEBUG: WEBKIT_API voidwebkit_icon_database_set_path (WebKitIconDatabase* database, const gchar* path)
        [SuppressUnmanagedCodeSecurity]
        [DllImport("webkitgtk-1.0", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, CharSet = CharSet.Ansi
            EntryPoint="webkit_icon_database_set_path")]
        internal static extern void webkit_icon_database_set_path(global::System.IntPtr database, string path);



        // DEBUG: WEBKIT_API gchar*webkit_icon_database_get_icon_uri (WebKitIconDatabase* database, const gchar* page_uri)
        [SuppressUnmanagedCodeSecurity]
        [DllImport("webkitgtk-1.0", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, CharSet = CharSet.Ansi
            EntryPoint="webkit_icon_database_get_icon_uri")]
        internal static extern string webkit_icon_database_get_icon_uri(global::System.IntPtr database, string page_uri);

        public string GetIconUri(string page_uri){
            return webkit_icon_database_get_icon_uri(this.Handle,page_uri);
        }

        // DEBUG: WEBKIT_API GdkPixbuf*webkit_icon_database_get_icon_pixbuf (WebKitIconDatabase* database, const gchar* page_uri)
        [SuppressUnmanagedCodeSecurity]
        [DllImport("webkitgtk-1.0", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, CharSet = CharSet.Ansi
            EntryPoint="webkit_icon_database_get_icon_pixbuf")]
        internal static extern global::System.IntPtr webkit_icon_database_get_icon_pixbuf(global::System.IntPtr database, string page_uri);

        public Gdk.Pixbuf GetIconPixbuf(string page_uri){
            return new Gdk.Pixbuf( webkit_icon_database_get_icon_pixbuf(this.Handle,page_uri));
        }

        // DEBUG: WEBKIT_API voidwebkit_icon_database_clear (WebKitIconDatabase* database)
        [SuppressUnmanagedCodeSecurity]
        [DllImport("webkitgtk-1.0", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
            EntryPoint="webkit_icon_database_clear")]
        internal static extern void webkit_icon_database_clear(global::System.IntPtr database);

        public void Clear(){
            webkit_icon_database_clear(this.Handle);
        }
    }
}
