// This file was generated by the Gtk# code generator.
// Any changes made will be lost if regenerated.

namespace Gtk {

	using System;
	using System.Runtime.InteropServices;

#region Autogenerated code
	public partial class Rc {

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_rc_add_default_file(IntPtr filename);
		static d_gtk_rc_add_default_file gtk_rc_add_default_file = FuncLoader.LoadFunction<d_gtk_rc_add_default_file>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_rc_add_default_file"));

		[Obsolete]
		public static void AddDefaultFile(string filename) {
			IntPtr native_filename = GLib.Marshaller.StringToPtrGStrdup (filename);
			gtk_rc_add_default_file(native_filename);
			GLib.Marshaller.Free (native_filename);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_rc_find_module_in_path(IntPtr module_file);
		static d_gtk_rc_find_module_in_path gtk_rc_find_module_in_path = FuncLoader.LoadFunction<d_gtk_rc_find_module_in_path>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_rc_find_module_in_path"));

		[Obsolete]
		public static string FindModuleInPath(string module_file) {
			IntPtr native_module_file = GLib.Marshaller.StringToPtrGStrdup (module_file);
			IntPtr raw_ret = gtk_rc_find_module_in_path(native_module_file);
			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
			GLib.Marshaller.Free (native_module_file);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_rc_get_default_files();
		static d_gtk_rc_get_default_files gtk_rc_get_default_files = FuncLoader.LoadFunction<d_gtk_rc_get_default_files>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_rc_get_default_files"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_rc_set_default_files(IntPtr[] filenames);
		static d_gtk_rc_set_default_files gtk_rc_set_default_files = FuncLoader.LoadFunction<d_gtk_rc_set_default_files>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_rc_set_default_files"));

		[Obsolete]
		public static string[] DefaultFiles { 
			get {
				IntPtr raw_ret = gtk_rc_get_default_files();
				string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
				return ret;
			}
			set {
				int cnt_value = value == null ? 0 : value.Length;
				IntPtr[] native_value = new IntPtr [cnt_value + 1];
				for (int i = 0; i < cnt_value; i++)
					native_value [i] = GLib.Marshaller.StringToPtrGStrdup(value[i]);
				native_value [cnt_value] = IntPtr.Zero;
				gtk_rc_set_default_files(native_value);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_rc_get_im_module_file();
		static d_gtk_rc_get_im_module_file gtk_rc_get_im_module_file = FuncLoader.LoadFunction<d_gtk_rc_get_im_module_file>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_rc_get_im_module_file"));

		[Obsolete]
		public static string ImModuleFile { 
			get {
				IntPtr raw_ret = gtk_rc_get_im_module_file();
				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_rc_get_im_module_path();
		static d_gtk_rc_get_im_module_path gtk_rc_get_im_module_path = FuncLoader.LoadFunction<d_gtk_rc_get_im_module_path>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_rc_get_im_module_path"));

		[Obsolete]
		public static string ImModulePath { 
			get {
				IntPtr raw_ret = gtk_rc_get_im_module_path();
				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_rc_get_module_dir();
		static d_gtk_rc_get_module_dir gtk_rc_get_module_dir = FuncLoader.LoadFunction<d_gtk_rc_get_module_dir>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_rc_get_module_dir"));

		[Obsolete]
		public static string ModuleDir { 
			get {
				IntPtr raw_ret = gtk_rc_get_module_dir();
				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_rc_get_style(IntPtr widget);
		static d_gtk_rc_get_style gtk_rc_get_style = FuncLoader.LoadFunction<d_gtk_rc_get_style>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_rc_get_style"));

		[Obsolete]
		public static Gtk.Style GetStyle(Gtk.Widget widget) {
			IntPtr raw_ret = gtk_rc_get_style(widget == null ? IntPtr.Zero : widget.Handle);
			Gtk.Style ret = GLib.Object.GetObject(raw_ret) as Gtk.Style;
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_rc_get_theme_dir();
		static d_gtk_rc_get_theme_dir gtk_rc_get_theme_dir = FuncLoader.LoadFunction<d_gtk_rc_get_theme_dir>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_rc_get_theme_dir"));

		[Obsolete]
		public static string ThemeDir { 
			get {
				IntPtr raw_ret = gtk_rc_get_theme_dir();
				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_rc_parse(IntPtr filename);
		static d_gtk_rc_parse gtk_rc_parse = FuncLoader.LoadFunction<d_gtk_rc_parse>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_rc_parse"));

		[Obsolete]
		public static void Parse(string filename) {
			IntPtr native_filename = GLib.Marshaller.StringToPtrGStrdup (filename);
			gtk_rc_parse(native_filename);
			GLib.Marshaller.Free (native_filename);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_rc_parse_string(IntPtr rc_string);
		static d_gtk_rc_parse_string gtk_rc_parse_string = FuncLoader.LoadFunction<d_gtk_rc_parse_string>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_rc_parse_string"));

		[Obsolete]
		public static void ParseString(string rc_string) {
			IntPtr native_rc_string = GLib.Marshaller.StringToPtrGStrdup (rc_string);
			gtk_rc_parse_string(native_rc_string);
			GLib.Marshaller.Free (native_rc_string);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_rc_reparse_all();
		static d_gtk_rc_reparse_all gtk_rc_reparse_all = FuncLoader.LoadFunction<d_gtk_rc_reparse_all>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_rc_reparse_all"));

		[Obsolete]
		public static bool ReparseAll() {
			bool raw_ret = gtk_rc_reparse_all();
			bool ret = raw_ret;
			return ret;
		}

#endregion
	}
}
