f-spot r4653 - in trunk: . GKeyFile GKeyFile/generated
- From: sdelcroix svn gnome org
- To: svn-commits-list gnome org
- Subject: f-spot r4653 - in trunk: . GKeyFile GKeyFile/generated
- Date: Thu, 4 Dec 2008 12:39:27 +0000 (UTC)
Author: sdelcroix
Date: Thu Dec 4 12:39:26 2008
New Revision: 4653
URL: http://svn.gnome.org/viewvc/f-spot?rev=4653&view=rev
Log:
GKeyFile
2008-12-04 Stephane Delcroix <sdelcroix novell com>
* GKeyFile/*: bindings for GKeyFile. Will be useful to implement a
proper alternative to the GConf preference backend
Added:
trunk/GKeyFile/
trunk/GKeyFile/.generated_timestamp
trunk/GKeyFile/.gitignore
trunk/GKeyFile/GKeyFile.custom
trunk/GKeyFile/GKeyFile.metadata
trunk/GKeyFile/Makefile.am
trunk/GKeyFile/generated/
trunk/GKeyFile/generated/Error.cs
trunk/GKeyFile/generated/Flags.cs
trunk/GKeyFile/generated/GKeyFile.cs
trunk/GKeyFile/gkeyfile-api.raw
trunk/GKeyFile/gkeyfile-api.xml
trunk/GKeyFile/gkeyfile-sharp-sources.xml
trunk/GKeyFile/sample.cs
Modified:
trunk/ChangeLog
trunk/Makefile.am
trunk/configure.in
Added: trunk/GKeyFile/.generated_timestamp
==============================================================================
Added: trunk/GKeyFile/.gitignore
==============================================================================
--- (empty file)
+++ trunk/GKeyFile/.gitignore Thu Dec 4 12:39:26 2008
@@ -0,0 +1,3 @@
+/Makefile
+/Makefile.in
+/gkeyfile-sharp.dll*
Added: trunk/GKeyFile/GKeyFile.custom
==============================================================================
--- (empty file)
+++ trunk/GKeyFile/GKeyFile.custom Thu Dec 4 12:39:26 2008
@@ -0,0 +1,98 @@
+/*
+ * GKeyFile.custom
+ *
+ * Author(s):
+ * Stephane Delcroix (stephane delcroix org)
+ *
+ * Copyright (c) 2008 Novell, Inc.
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+ public GKeyFile (string file, KeyFile.Flags flags) : this ()
+ {
+ LoadFromFile (file, flags);
+ }
+
+ public GKeyFile (string file) : this (file, KeyFile.Flags.KeepComments)
+ {
+ }
+
+ public string ToData ()
+ {
+ ulong length;
+ return ToData (out length);
+ }
+
+ public void Save (string filename)
+ {
+ byte [] content = System.Text.Encoding.Default.GetBytes (ToData ());
+ System.IO.FileStream stream = System.IO.File.Create (filename);
+ stream.Write (content, 0, content.Length);
+ stream.Close ();
+ }
+
+ public void SetStringList(string group_name, string key, string[] list) {
+ SetStringList (group_name, key, list, (ulong)list.Length);
+ }
+
+ public void SetBooleanList(string group_name, string key, bool[] list) {
+ SetBooleanList(group_name, key, list, (ulong)list.Length);
+ }
+
+ public void SetIntegerList(string group_name, string key, int[] list) {
+ SetIntegerList (group_name, key, list, (ulong)list.Length);
+ }
+
+ public void SetDoubleList(string group_name, string key, double[] list) {
+ SetDoubleList (group_name, key, list, (ulong)list.Length);
+ }
+
+ public string [] GetKeys (string group_name) {
+ ulong length;
+ return GetKeys (group_name, out length);
+ }
+
+ public string [] GetGroups () {
+ ulong length;
+ return GetGroups (out length);
+ }
+
+ public string[] GetStringList(string group_name, string key) {
+ ulong length;
+ return GetStringList (group_name, key, out length);
+ }
+
+// public bool[] GetBooleanList(string group_name, string key) {
+// ulong length;
+// return GetBooleanList (group_anme, key, out length);
+// }
+//
+// public int[] GetIntegerList(string group_name, string key) {
+// ulong length;
+// return GetIntegerList (group_name, key, out length);
+// }
+//
+// public double[] GetDoubleList(string group_name, string key) {
+// ulong length;
+// return GetDoubleList (group_name, key, out length);
+// }
Added: trunk/GKeyFile/GKeyFile.metadata
==============================================================================
--- (empty file)
+++ trunk/GKeyFile/GKeyFile.metadata Thu Dec 4 12:39:26 2008
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<metadata>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_to_data']" name="accessibility">private</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_set_string_list']" name="accessibility">private</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_set_integer_list']" name="accessibility">private</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_set_double_list']" name="accessibility">private</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_set_boolean_list']" name="accessibility">private</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_keys']" name="accessibility">private</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_keys']/return-type" name="null_term_array">1</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_groups']" name="accessibility">private</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_groups']/return-type" name="null_term_array">1</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_string_list']" name="accessibility">private</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_string_list']/return-type" name="null_term_array">1</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_locale_string_list']/return-type" name="null_term_array">1</attr>
+<!--
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_boolean_list']" name="accessibility">private</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_boolean_list']/return-type" name="element_type">gboolean</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_integer_list']" name="accessibility">private</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_integer_list']/return-type" name="null_term_array">1</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_double_list']" name="accessibility">private</attr>
+ <attr path="/api/namespace/struct[ cname='GKeyFile']/method[ cname='g_key_file_get_double_list']/return-type" name="null_term_array">1</attr>
+-->
+</metadata>
Added: trunk/GKeyFile/Makefile.am
==============================================================================
--- (empty file)
+++ trunk/GKeyFile/Makefile.am Thu Dec 4 12:39:26 2008
@@ -0,0 +1,32 @@
+all: gkeyfile-sharp.dll
+
+gkeyfile-api.raw: gkeyfile-sharp-sources.xml
+ gapi2-parser gkeyfile-sharp-sources.xml
+
+gkeyfile-api.xml: gkeyfile-api.raw GKeyFile.metadata
+ cp gkeyfile-api.raw gkeyfile-api.xml
+ gapi2-fixup --api=gkeyfile-api.xml --metadata=GKeyFile.metadata
+
+.generated_timestamp: gkeyfile-api.xml $(CUSTOMS)
+ gapi2-codegen --outdir=generated --customdir=$(srcdir) --generate gkeyfile-api.xml
+ touch $@
+
+gkeyfile-sharp.dll: .generated_timestamp $(SOURCES) $(CUSTOMS)
+ gmcs -unsafe -pkg:glib-sharp-2.0 -target:library -out:$@ $(srcdir)/generated/*.cs $(SOURCES)
+
+CUSTOMS = \
+ $(srcdir)/GKeyFile.custom
+
+EXTRA_DIST = \
+ $(CUSTOMS) \
+ gkeyfile-sharp-sources.xml \
+ gkeyfile-api.raw \
+ GKeyFile.metadata \
+ gkeyfile-api.xml \
+ .generated_timestamp \
+ generated/*.cs
+
+CLEANFILES = \
+ gkeyfile-sharp.dll \
+ gkeyfile-sharp.dll.mdb
+
Added: trunk/GKeyFile/generated/Error.cs
==============================================================================
--- (empty file)
+++ trunk/GKeyFile/generated/Error.cs Thu Dec 4 12:39:26 2008
@@ -0,0 +1,20 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace KeyFile {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ public enum Error {
+
+ UnknownEncoding,
+ Parse,
+ NotFound,
+ KeyNotFound,
+ GroupNotFound,
+ InvalidValue,
+ }
+#endregion
+}
Added: trunk/GKeyFile/generated/Flags.cs
==============================================================================
--- (empty file)
+++ trunk/GKeyFile/generated/Flags.cs Thu Dec 4 12:39:26 2008
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace KeyFile {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [Flags]
+ public enum Flags {
+
+ None,
+ KeepComments = 1 << 0,
+ KeepTranslations = 1 << 1,
+ }
+#endregion
+}
Added: trunk/GKeyFile/generated/GKeyFile.cs
==============================================================================
--- (empty file)
+++ trunk/GKeyFile/generated/GKeyFile.cs Thu Dec 4 12:39:26 2008
@@ -0,0 +1,684 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace KeyFile {
+
+ using System;
+ using System.Collections;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ public class GKeyFile : GLib.Opaque {
+
+ [DllImport("libglib-2.0.dll")]
+ static extern IntPtr g_key_file_get_groups(IntPtr raw, out UIntPtr length);
+
+ private string[] GetGroups(out ulong length) {
+ UIntPtr native_length;
+ IntPtr raw_ret = g_key_file_get_groups(Handle, out native_length);
+ string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
+ length = (ulong) native_length;
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_set_boolean(IntPtr raw, IntPtr group_name, IntPtr key, bool value);
+
+ public void SetBoolean(string group_name, string key, bool value) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ g_key_file_set_boolean(Handle, native_group_name, native_key, value);
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe IntPtr g_key_file_get_locale_string(IntPtr raw, IntPtr group_name, IntPtr key, IntPtr locale, out IntPtr error);
+
+ public unsafe string GetLocaleString(string group_name, string key, string locale) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr native_locale = GLib.Marshaller.StringToPtrGStrdup (locale);
+ IntPtr error = IntPtr.Zero;
+ IntPtr raw_ret = g_key_file_get_locale_string(Handle, native_group_name, native_key, native_locale, out error);
+ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ GLib.Marshaller.Free (native_locale);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_set_double(IntPtr raw, IntPtr group_name, IntPtr key, double value);
+
+ public void SetDouble(string group_name, string key, double value) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ g_key_file_set_double(Handle, native_group_name, native_key, value);
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe bool g_key_file_remove_key(IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
+
+ public unsafe bool RemoveKey(string group_name, string key) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = g_key_file_remove_key(Handle, native_group_name, native_key, out error);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_set_value(IntPtr raw, IntPtr group_name, IntPtr key, IntPtr value);
+
+ public void SetValue(string group_name, string key, string value) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+ g_key_file_set_value(Handle, native_group_name, native_key, native_value);
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ GLib.Marshaller.Free (native_value);
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe bool g_key_file_remove_group(IntPtr raw, IntPtr group_name, out IntPtr error);
+
+ public unsafe bool RemoveGroup(string group_name) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = g_key_file_remove_group(Handle, native_group_name, out error);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_group_name);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe double g_key_file_get_double_list(IntPtr raw, IntPtr group_name, IntPtr key, out UIntPtr length, out IntPtr error);
+
+ public unsafe double GetDoubleList(string group_name, string key, out ulong length) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ UIntPtr native_length;
+ IntPtr error = IntPtr.Zero;
+ double raw_ret = g_key_file_get_double_list(Handle, native_group_name, native_key, out native_length, out error);
+ double ret = raw_ret;
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ length = (ulong) native_length;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe bool g_key_file_remove_comment(IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
+
+ public unsafe bool RemoveComment(string group_name, string key) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = g_key_file_remove_comment(Handle, native_group_name, native_key, out error);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_set_list_separator(IntPtr raw, IntPtr separator);
+
+ public string ListSeparator {
+ set {
+ g_key_file_set_list_separator(Handle, GLib.Marshaller.StringToPtrGStrdup(value));
+ }
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe bool g_key_file_get_boolean_list(IntPtr raw, IntPtr group_name, IntPtr key, out UIntPtr length, out IntPtr error);
+
+ public unsafe bool GetBooleanList(string group_name, string key, out ulong length) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ UIntPtr native_length;
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = g_key_file_get_boolean_list(Handle, native_group_name, native_key, out native_length, out error);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ length = (ulong) native_length;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern bool g_key_file_has_group(IntPtr raw, IntPtr group_name);
+
+ public bool HasGroup(string group_name) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ bool raw_ret = g_key_file_has_group(Handle, native_group_name);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_group_name);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe bool g_key_file_set_comment(IntPtr raw, IntPtr group_name, IntPtr key, IntPtr comment, out IntPtr error);
+
+ public unsafe bool SetComment(string group_name, string key, string comment) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr native_comment = GLib.Marshaller.StringToPtrGStrdup (comment);
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = g_key_file_set_comment(Handle, native_group_name, native_key, native_comment, out error);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ GLib.Marshaller.Free (native_comment);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe int g_key_file_get_integer(IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
+
+ public unsafe int GetInteger(string group_name, string key) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr error = IntPtr.Zero;
+ int raw_ret = g_key_file_get_integer(Handle, native_group_name, native_key, out error);
+ int ret = raw_ret;
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_set_double_list(IntPtr raw, IntPtr group_name, IntPtr key, double[] list, UIntPtr length);
+
+ private void SetDoubleList(string group_name, string key, double[] list, ulong length) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ g_key_file_set_double_list(Handle, native_group_name, native_key, list, new UIntPtr (length));
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe IntPtr g_key_file_get_locale_string_list(IntPtr raw, IntPtr group_name, IntPtr key, IntPtr locale, out UIntPtr length, out IntPtr error);
+
+ public unsafe string[] GetLocaleStringList(string group_name, string key, string locale, out ulong length) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr native_locale = GLib.Marshaller.StringToPtrGStrdup (locale);
+ UIntPtr native_length;
+ IntPtr error = IntPtr.Zero;
+ IntPtr raw_ret = g_key_file_get_locale_string_list(Handle, native_group_name, native_key, native_locale, out native_length, out error);
+ string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ GLib.Marshaller.Free (native_locale);
+ length = (ulong) native_length;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe bool g_key_file_get_boolean(IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
+
+ public unsafe bool GetBoolean(string group_name, string key) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = g_key_file_get_boolean(Handle, native_group_name, native_key, out error);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_set_locale_string_list(IntPtr raw, IntPtr group_name, IntPtr key, IntPtr locale, IntPtr[] list, UIntPtr length);
+
+ public void SetLocaleStringList(string group_name, string key, string locale, string[] list, ulong length) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr native_locale = GLib.Marshaller.StringToPtrGStrdup (locale);
+ int cnt_list = list == null ? 0 : list.Length;
+ IntPtr[] native_list = new IntPtr [cnt_list];
+ for (int i = 0; i < cnt_list; i++)
+ native_list [i] = GLib.Marshaller.StringToPtrGStrdup (list[i]);
+ g_key_file_set_locale_string_list(Handle, native_group_name, native_key, native_locale, native_list, new UIntPtr (length));
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ GLib.Marshaller.Free (native_locale);
+ for (int i = 0; i < native_list.Length; i++) {
+ list [i] = GLib.Marshaller.Utf8PtrToString (native_list[i]);
+ GLib.Marshaller.Free (native_list[i]);
+ }
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe IntPtr g_key_file_get_string_list(IntPtr raw, IntPtr group_name, IntPtr key, out UIntPtr length, out IntPtr error);
+
+ private unsafe string[] GetStringList(string group_name, string key, out ulong length) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ UIntPtr native_length;
+ IntPtr error = IntPtr.Zero;
+ IntPtr raw_ret = g_key_file_get_string_list(Handle, native_group_name, native_key, out native_length, out error);
+ string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ length = (ulong) native_length;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe IntPtr g_key_file_get_keys(IntPtr raw, IntPtr group_name, out UIntPtr length, out IntPtr error);
+
+ private unsafe string[] GetKeys(string group_name, out ulong length) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ UIntPtr native_length;
+ IntPtr error = IntPtr.Zero;
+ IntPtr raw_ret = g_key_file_get_keys(Handle, native_group_name, out native_length, out error);
+ string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
+ GLib.Marshaller.Free (native_group_name);
+ length = (ulong) native_length;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe bool g_key_file_load_from_data_dirs(IntPtr raw, IntPtr file, IntPtr full_path, int flags, out IntPtr error);
+
+ public unsafe bool LoadFromDataDirs(string file, string full_path, KeyFile.Flags flags) {
+ IntPtr native_file = GLib.Marshaller.StringToPtrGStrdup (file);
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = g_key_file_load_from_data_dirs(Handle, native_file, GLib.Marshaller.StringToPtrGStrdup(full_path), (int) flags, out error);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_file);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_set_locale_string(IntPtr raw, IntPtr group_name, IntPtr key, IntPtr locale, IntPtr str1ng);
+
+ public void SetLocaleString(string group_name, string key, string locale, string str1ng) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr native_locale = GLib.Marshaller.StringToPtrGStrdup (locale);
+ IntPtr native_str1ng = GLib.Marshaller.StringToPtrGStrdup (str1ng);
+ g_key_file_set_locale_string(Handle, native_group_name, native_key, native_locale, native_str1ng);
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ GLib.Marshaller.Free (native_locale);
+ GLib.Marshaller.Free (native_str1ng);
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe bool g_key_file_load_from_file(IntPtr raw, IntPtr file, int flags, out IntPtr error);
+
+ public unsafe bool LoadFromFile(string file, KeyFile.Flags flags) {
+ IntPtr native_file = GLib.Marshaller.StringToPtrGStrdup (file);
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = g_key_file_load_from_file(Handle, native_file, (int) flags, out error);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_file);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_set_integer_list(IntPtr raw, IntPtr group_name, IntPtr key, int[] list, UIntPtr length);
+
+ private void SetIntegerList(string group_name, string key, int[] list, ulong length) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ g_key_file_set_integer_list(Handle, native_group_name, native_key, list, new UIntPtr (length));
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_set_boolean_list(IntPtr raw, IntPtr group_name, IntPtr key, bool[] list, UIntPtr length);
+
+ private void SetBooleanList(string group_name, string key, bool[] list, ulong length) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ g_key_file_set_boolean_list(Handle, native_group_name, native_key, list, new UIntPtr (length));
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe IntPtr g_key_file_to_data(IntPtr raw, out UIntPtr length, out IntPtr error);
+
+ private unsafe string ToData(out ulong length) {
+ UIntPtr native_length;
+ IntPtr error = IntPtr.Zero;
+ IntPtr raw_ret = g_key_file_to_data(Handle, out native_length, out error);
+ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+ length = (ulong) native_length;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_set_string_list(IntPtr raw, IntPtr group_name, IntPtr key, IntPtr[] list, UIntPtr length);
+
+ private void SetStringList(string group_name, string key, string[] list, ulong length) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ int cnt_list = list == null ? 0 : list.Length;
+ IntPtr[] native_list = new IntPtr [cnt_list];
+ for (int i = 0; i < cnt_list; i++)
+ native_list [i] = GLib.Marshaller.StringToPtrGStrdup (list[i]);
+ g_key_file_set_string_list(Handle, native_group_name, native_key, native_list, new UIntPtr (length));
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ for (int i = 0; i < native_list.Length; i++) {
+ list [i] = GLib.Marshaller.Utf8PtrToString (native_list[i]);
+ GLib.Marshaller.Free (native_list[i]);
+ }
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe bool g_key_file_load_from_data(IntPtr raw, IntPtr data, UIntPtr length, int flags, out IntPtr error);
+
+ public unsafe bool LoadFromData(string data, KeyFile.Flags flags) {
+ IntPtr native_data = GLib.Marshaller.StringToPtrGStrdup (data);
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = g_key_file_load_from_data(Handle, native_data, new UIntPtr ((ulong) System.Text.Encoding.UTF8.GetByteCount (data)), (int) flags, out error);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_data);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_set_string(IntPtr raw, IntPtr group_name, IntPtr key, IntPtr str1ng);
+
+ public void SetString(string group_name, string key, string str1ng) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr native_str1ng = GLib.Marshaller.StringToPtrGStrdup (str1ng);
+ g_key_file_set_string(Handle, native_group_name, native_key, native_str1ng);
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ GLib.Marshaller.Free (native_str1ng);
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe double g_key_file_get_double(IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
+
+ public unsafe double GetDouble(string group_name, string key) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr error = IntPtr.Zero;
+ double raw_ret = g_key_file_get_double(Handle, native_group_name, native_key, out error);
+ double ret = raw_ret;
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe IntPtr g_key_file_get_comment(IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
+
+ public unsafe string GetComment(string group_name, string key) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr error = IntPtr.Zero;
+ IntPtr raw_ret = g_key_file_get_comment(Handle, native_group_name, native_key, out error);
+ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern int g_key_file_error_quark();
+
+ public static int ErrorQuark() {
+ int raw_ret = g_key_file_error_quark();
+ int ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe bool g_key_file_has_key(IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
+
+ public unsafe bool HasKey(string group_name, string key) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = g_key_file_has_key(Handle, native_group_name, native_key, out error);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe bool g_key_file_load_from_dirs(IntPtr raw, IntPtr file, IntPtr search_dirs, IntPtr full_path, int flags, out IntPtr error);
+
+ public unsafe bool LoadFromDirs(string file, string search_dirs, string full_path, KeyFile.Flags flags) {
+ IntPtr native_file = GLib.Marshaller.StringToPtrGStrdup (file);
+ IntPtr native_search_dirs = GLib.Marshaller.StringToPtrGStrdup (search_dirs);
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = g_key_file_load_from_dirs(Handle, native_file, native_search_dirs, GLib.Marshaller.StringToPtrGStrdup(full_path), (int) flags, out error);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_file);
+ GLib.Marshaller.Free (native_search_dirs);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe IntPtr g_key_file_get_value(IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
+
+ public unsafe string GetValue(string group_name, string key) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr error = IntPtr.Zero;
+ IntPtr raw_ret = g_key_file_get_value(Handle, native_group_name, native_key, out error);
+ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe int g_key_file_get_integer_list(IntPtr raw, IntPtr group_name, IntPtr key, out UIntPtr length, out IntPtr error);
+
+ public unsafe int GetIntegerList(string group_name, string key, out ulong length) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ UIntPtr native_length;
+ IntPtr error = IntPtr.Zero;
+ int raw_ret = g_key_file_get_integer_list(Handle, native_group_name, native_key, out native_length, out error);
+ int ret = raw_ret;
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ length = (ulong) native_length;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern IntPtr g_key_file_get_start_group(IntPtr raw);
+
+ public string StartGroup {
+ get {
+ IntPtr raw_ret = g_key_file_get_start_group(Handle);
+ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_set_integer(IntPtr raw, IntPtr group_name, IntPtr key, int value);
+
+ public void SetInteger(string group_name, string key, int value) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ g_key_file_set_integer(Handle, native_group_name, native_key, value);
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern unsafe IntPtr g_key_file_get_string(IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
+
+ public unsafe string GetString(string group_name, string key) {
+ IntPtr native_group_name = GLib.Marshaller.StringToPtrGStrdup (group_name);
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr error = IntPtr.Zero;
+ IntPtr raw_ret = g_key_file_get_string(Handle, native_group_name, native_key, out error);
+ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+ GLib.Marshaller.Free (native_group_name);
+ GLib.Marshaller.Free (native_key);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ public GKeyFile(IntPtr raw) : base(raw) {}
+
+ [DllImport("libglib-2.0.dll")]
+ static extern IntPtr g_key_file_new();
+
+ public GKeyFile ()
+ {
+ Raw = g_key_file_new();
+ }
+
+ [DllImport("libglib-2.0.dll")]
+ static extern void g_key_file_free(IntPtr raw);
+
+ protected override void Free (IntPtr raw)
+ {
+ g_key_file_free (raw);
+ }
+
+#endregion
+#region Customized extensions
+#line 1 "GKeyFile.custom"
+/*
+ * GKeyFile.custom
+ *
+ * Author(s):
+ * Stephane Delcroix (stephane delcroix org)
+ *
+ * Copyright (c) 2008 Novell, Inc.
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+ public GKeyFile (string file, KeyFile.Flags flags) : this ()
+ {
+ LoadFromFile (file, flags);
+ }
+
+ public GKeyFile (string file) : this (file, KeyFile.Flags.KeepComments)
+ {
+ }
+
+ public string ToData ()
+ {
+ ulong length;
+ return ToData (out length);
+ }
+
+ public void Save (string filename)
+ {
+ byte [] content = System.Text.Encoding.Default.GetBytes (ToData ());
+ System.IO.FileStream stream = System.IO.File.Create (filename);
+ stream.Write (content, 0, content.Length);
+ stream.Close ();
+ }
+
+ public void SetStringList(string group_name, string key, string[] list) {
+ SetStringList (group_name, key, list, (ulong)list.Length);
+ }
+
+ public void SetBooleanList(string group_name, string key, bool[] list) {
+ SetBooleanList(group_name, key, list, (ulong)list.Length);
+ }
+
+ public void SetIntegerList(string group_name, string key, int[] list) {
+ SetIntegerList (group_name, key, list, (ulong)list.Length);
+ }
+
+ public void SetDoubleList(string group_name, string key, double[] list) {
+ SetDoubleList (group_name, key, list, (ulong)list.Length);
+ }
+
+ public string [] GetKeys (string group_name) {
+ ulong length;
+ return GetKeys (group_name, out length);
+ }
+
+ public string [] GetGroups () {
+ ulong length;
+ return GetGroups (out length);
+ }
+
+ public string[] GetStringList(string group_name, string key) {
+ ulong length;
+ return GetStringList (group_name, key, out length);
+ }
+
+// public bool[] GetBooleanList(string group_name, string key) {
+// ulong length;
+// return GetBooleanList (group_anme, key, out length);
+// }
+//
+// public int[] GetIntegerList(string group_name, string key) {
+// ulong length;
+// return GetIntegerList (group_name, key, out length);
+// }
+//
+// public double[] GetDoubleList(string group_name, string key) {
+// ulong length;
+// return GetDoubleList (group_name, key, out length);
+// }
+
+#endregion
+ }
+}
Added: trunk/GKeyFile/gkeyfile-api.raw
==============================================================================
--- (empty file)
+++ trunk/GKeyFile/gkeyfile-api.raw Thu Dec 4 12:39:26 2008
@@ -0,0 +1,343 @@
+<?xml version="1.0"?>
+<api>
+ <!--
+
+ This file was automatically generated.
+ Please DO NOT MODIFY THIS FILE, modify .metadata files instead.
+
+-->
+ <namespace name="KeyFile" library="libglib-2.0.dll">
+ <enum name="Error" cname="GKeyFileError" type="enum">
+ <member cname="G_KEY_FILE_ERROR_UNKNOWN_ENCODING" name="UnknownEncoding" />
+ <member cname="G_KEY_FILE_ERROR_PARSE" name="Parse" />
+ <member cname="G_KEY_FILE_ERROR_NOT_FOUND" name="NotFound" />
+ <member cname="G_KEY_FILE_ERROR_KEY_NOT_FOUND" name="KeyNotFound" />
+ <member cname="G_KEY_FILE_ERROR_GROUP_NOT_FOUND" name="GroupNotFound" />
+ <member cname="G_KEY_FILE_ERROR_INVALID_VALUE" name="InvalidValue" />
+ </enum>
+ <enum name="Flags" cname="GKeyFileFlags" type="flags">
+ <member cname="G_KEY_FILE_NONE" name="None" />
+ <member cname="G_KEY_FILE_KEEP_COMMENTS" name="KeepComments" value="1 << 0" />
+ <member cname="G_KEY_FILE_KEEP_TRANSLATIONS" name="KeepTranslations" value="1 << 1" />
+ </enum>
+ <struct name="GKeyFile" cname="GKeyFile" opaque="true">
+ <method name="ErrorQuark" cname="g_key_file_error_quark" shared="true">
+ <return-type type="GQuark" />
+ </method>
+ <method name="Free" cname="g_key_file_free">
+ <return-type type="void" />
+ </method>
+ <method name="GetBoolean" cname="g_key_file_get_boolean">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetBooleanList" cname="g_key_file_get_boolean_list">
+ <return-type type="gboolean*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetComment" cname="g_key_file_get_comment">
+ <return-type type="gchar*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetDouble" cname="g_key_file_get_double">
+ <return-type type="gdouble" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetDoubleList" cname="g_key_file_get_double_list">
+ <return-type type="gdouble*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetGroups" cname="g_key_file_get_groups">
+ <return-type type="gchar**" />
+ <parameters>
+ <parameter type="gsize*" name="length" />
+ </parameters>
+ </method>
+ <method name="GetInteger" cname="g_key_file_get_integer">
+ <return-type type="gint" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetIntegerList" cname="g_key_file_get_integer_list">
+ <return-type type="gint*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetKeys" cname="g_key_file_get_keys">
+ <return-type type="gchar**" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetLocaleString" cname="g_key_file_get_locale_string">
+ <return-type type="gchar*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="locale" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetLocaleStringList" cname="g_key_file_get_locale_string_list">
+ <return-type type="gchar**" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="locale" />
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetStartGroup" cname="g_key_file_get_start_group">
+ <return-type type="gchar*" />
+ </method>
+ <method name="GetString" cname="g_key_file_get_string">
+ <return-type type="gchar*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetStringList" cname="g_key_file_get_string_list">
+ <return-type type="gchar**" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetValue" cname="g_key_file_get_value">
+ <return-type type="gchar*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="HasGroup" cname="g_key_file_has_group">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ </parameters>
+ </method>
+ <method name="HasKey" cname="g_key_file_has_key">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="LoadFromData" cname="g_key_file_load_from_data">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="data" />
+ <parameter type="gsize" name="length" />
+ <parameter type="GKeyFileFlags" name="flags" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="LoadFromDataDirs" cname="g_key_file_load_from_data_dirs">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="file" />
+ <parameter type="gchar**" name="full_path" />
+ <parameter type="GKeyFileFlags" name="flags" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="LoadFromDirs" cname="g_key_file_load_from_dirs">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="file" />
+ <parameter type="const-gchar**" name="search_dirs" />
+ <parameter type="gchar**" name="full_path" />
+ <parameter type="GKeyFileFlags" name="flags" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="LoadFromFile" cname="g_key_file_load_from_file">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="file" />
+ <parameter type="GKeyFileFlags" name="flags" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <constructor cname="g_key_file_new" />
+ <method name="RemoveComment" cname="g_key_file_remove_comment">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="RemoveGroup" cname="g_key_file_remove_group">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="RemoveKey" cname="g_key_file_remove_key">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="SetBoolean" cname="g_key_file_set_boolean">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gboolean" name="value" />
+ </parameters>
+ </method>
+ <method name="SetBooleanList" cname="g_key_file_set_boolean_list">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gboolean" array="true" name="list" />
+ <parameter type="gsize" name="length" />
+ </parameters>
+ </method>
+ <method name="SetComment" cname="g_key_file_set_comment">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="comment" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="SetDouble" cname="g_key_file_set_double">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gdouble" name="value" />
+ </parameters>
+ </method>
+ <method name="SetDoubleList" cname="g_key_file_set_double_list">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gdouble" array="true" name="list" />
+ <parameter type="gsize" name="length" />
+ </parameters>
+ </method>
+ <method name="SetInteger" cname="g_key_file_set_integer">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gint" name="value" />
+ </parameters>
+ </method>
+ <method name="SetIntegerList" cname="g_key_file_set_integer_list">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gint" array="true" name="list" />
+ <parameter type="gsize" name="length" />
+ </parameters>
+ </method>
+ <method name="SetListSeparator" cname="g_key_file_set_list_separator">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="gchar" name="separator" />
+ </parameters>
+ </method>
+ <method name="SetLocaleString" cname="g_key_file_set_locale_string">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="locale" />
+ <parameter type="const-gchar*" name="string" />
+ </parameters>
+ </method>
+ <method name="SetLocaleStringList" cname="g_key_file_set_locale_string_list">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="locale" />
+ <parameter type="const-gchar*" array="true" name="list" />
+ <parameter type="gsize" name="length" />
+ </parameters>
+ </method>
+ <method name="SetString" cname="g_key_file_set_string">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="string" />
+ </parameters>
+ </method>
+ <method name="SetStringList" cname="g_key_file_set_string_list">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" array="true" name="list" />
+ <parameter type="gsize" name="length" />
+ </parameters>
+ </method>
+ <method name="SetValue" cname="g_key_file_set_value">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="value" />
+ </parameters>
+ </method>
+ <method name="ToData" cname="g_key_file_to_data">
+ <return-type type="gchar*" />
+ <parameters>
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ </struct>
+ </namespace>
+</api>
\ No newline at end of file
Added: trunk/GKeyFile/gkeyfile-api.xml
==============================================================================
--- (empty file)
+++ trunk/GKeyFile/gkeyfile-api.xml Thu Dec 4 12:39:26 2008
@@ -0,0 +1,343 @@
+<?xml version="1.0"?>
+<api>
+ <!--
+
+ This file was automatically generated.
+ Please DO NOT MODIFY THIS FILE, modify .metadata files instead.
+
+-->
+ <namespace name="KeyFile" library="libglib-2.0.dll">
+ <enum name="Error" cname="GKeyFileError" type="enum">
+ <member cname="G_KEY_FILE_ERROR_UNKNOWN_ENCODING" name="UnknownEncoding" />
+ <member cname="G_KEY_FILE_ERROR_PARSE" name="Parse" />
+ <member cname="G_KEY_FILE_ERROR_NOT_FOUND" name="NotFound" />
+ <member cname="G_KEY_FILE_ERROR_KEY_NOT_FOUND" name="KeyNotFound" />
+ <member cname="G_KEY_FILE_ERROR_GROUP_NOT_FOUND" name="GroupNotFound" />
+ <member cname="G_KEY_FILE_ERROR_INVALID_VALUE" name="InvalidValue" />
+ </enum>
+ <enum name="Flags" cname="GKeyFileFlags" type="flags">
+ <member cname="G_KEY_FILE_NONE" name="None" />
+ <member cname="G_KEY_FILE_KEEP_COMMENTS" name="KeepComments" value="1 << 0" />
+ <member cname="G_KEY_FILE_KEEP_TRANSLATIONS" name="KeepTranslations" value="1 << 1" />
+ </enum>
+ <struct name="GKeyFile" cname="GKeyFile" opaque="true">
+ <method name="ErrorQuark" cname="g_key_file_error_quark" shared="true">
+ <return-type type="GQuark" />
+ </method>
+ <method name="Free" cname="g_key_file_free">
+ <return-type type="void" />
+ </method>
+ <method name="GetBoolean" cname="g_key_file_get_boolean">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetBooleanList" cname="g_key_file_get_boolean_list">
+ <return-type type="gboolean*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetComment" cname="g_key_file_get_comment">
+ <return-type type="gchar*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetDouble" cname="g_key_file_get_double">
+ <return-type type="gdouble" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetDoubleList" cname="g_key_file_get_double_list">
+ <return-type type="gdouble*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetGroups" cname="g_key_file_get_groups" accessibility="private">
+ <return-type type="gchar**" null_term_array="1" />
+ <parameters>
+ <parameter type="gsize*" name="length" />
+ </parameters>
+ </method>
+ <method name="GetInteger" cname="g_key_file_get_integer">
+ <return-type type="gint" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetIntegerList" cname="g_key_file_get_integer_list">
+ <return-type type="gint*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetKeys" cname="g_key_file_get_keys" accessibility="private">
+ <return-type type="gchar**" null_term_array="1" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetLocaleString" cname="g_key_file_get_locale_string">
+ <return-type type="gchar*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="locale" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetLocaleStringList" cname="g_key_file_get_locale_string_list">
+ <return-type type="gchar**" null_term_array="1" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="locale" />
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetStartGroup" cname="g_key_file_get_start_group">
+ <return-type type="gchar*" />
+ </method>
+ <method name="GetString" cname="g_key_file_get_string">
+ <return-type type="gchar*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetStringList" cname="g_key_file_get_string_list" accessibility="private">
+ <return-type type="gchar**" null_term_array="1" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="GetValue" cname="g_key_file_get_value">
+ <return-type type="gchar*" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="HasGroup" cname="g_key_file_has_group">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ </parameters>
+ </method>
+ <method name="HasKey" cname="g_key_file_has_key">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="LoadFromData" cname="g_key_file_load_from_data">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="data" />
+ <parameter type="gsize" name="length" />
+ <parameter type="GKeyFileFlags" name="flags" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="LoadFromDataDirs" cname="g_key_file_load_from_data_dirs">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="file" />
+ <parameter type="gchar**" name="full_path" />
+ <parameter type="GKeyFileFlags" name="flags" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="LoadFromDirs" cname="g_key_file_load_from_dirs">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="file" />
+ <parameter type="const-gchar**" name="search_dirs" />
+ <parameter type="gchar**" name="full_path" />
+ <parameter type="GKeyFileFlags" name="flags" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="LoadFromFile" cname="g_key_file_load_from_file">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="file" />
+ <parameter type="GKeyFileFlags" name="flags" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <constructor cname="g_key_file_new" />
+ <method name="RemoveComment" cname="g_key_file_remove_comment">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="RemoveGroup" cname="g_key_file_remove_group">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="RemoveKey" cname="g_key_file_remove_key">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="SetBoolean" cname="g_key_file_set_boolean">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gboolean" name="value" />
+ </parameters>
+ </method>
+ <method name="SetBooleanList" cname="g_key_file_set_boolean_list" accessibility="private">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gboolean" array="true" name="list" />
+ <parameter type="gsize" name="length" />
+ </parameters>
+ </method>
+ <method name="SetComment" cname="g_key_file_set_comment">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="comment" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ <method name="SetDouble" cname="g_key_file_set_double">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gdouble" name="value" />
+ </parameters>
+ </method>
+ <method name="SetDoubleList" cname="g_key_file_set_double_list" accessibility="private">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gdouble" array="true" name="list" />
+ <parameter type="gsize" name="length" />
+ </parameters>
+ </method>
+ <method name="SetInteger" cname="g_key_file_set_integer">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gint" name="value" />
+ </parameters>
+ </method>
+ <method name="SetIntegerList" cname="g_key_file_set_integer_list" accessibility="private">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="gint" array="true" name="list" />
+ <parameter type="gsize" name="length" />
+ </parameters>
+ </method>
+ <method name="SetListSeparator" cname="g_key_file_set_list_separator">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="gchar" name="separator" />
+ </parameters>
+ </method>
+ <method name="SetLocaleString" cname="g_key_file_set_locale_string">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="locale" />
+ <parameter type="const-gchar*" name="string" />
+ </parameters>
+ </method>
+ <method name="SetLocaleStringList" cname="g_key_file_set_locale_string_list">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="locale" />
+ <parameter type="const-gchar*" array="true" name="list" />
+ <parameter type="gsize" name="length" />
+ </parameters>
+ </method>
+ <method name="SetString" cname="g_key_file_set_string">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="string" />
+ </parameters>
+ </method>
+ <method name="SetStringList" cname="g_key_file_set_string_list" accessibility="private">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" array="true" name="list" />
+ <parameter type="gsize" name="length" />
+ </parameters>
+ </method>
+ <method name="SetValue" cname="g_key_file_set_value">
+ <return-type type="void" />
+ <parameters>
+ <parameter type="const-gchar*" name="group_name" />
+ <parameter type="const-gchar*" name="key" />
+ <parameter type="const-gchar*" name="value" />
+ </parameters>
+ </method>
+ <method name="ToData" cname="g_key_file_to_data" accessibility="private">
+ <return-type type="gchar*" />
+ <parameters>
+ <parameter type="gsize*" name="length" />
+ <parameter type="GError**" name="error" />
+ </parameters>
+ </method>
+ </struct>
+ </namespace>
+</api>
\ No newline at end of file
Added: trunk/GKeyFile/gkeyfile-sharp-sources.xml
==============================================================================
--- (empty file)
+++ trunk/GKeyFile/gkeyfile-sharp-sources.xml Thu Dec 4 12:39:26 2008
@@ -0,0 +1,9 @@
+<gapi-parser-input>
+ <api filename="gkeyfile-api.raw">
+ <library name="libglib-2.0.dll">
+ <namespace name="KeyFile">
+ <file>/usr/include/glib-2.0/glib/gkeyfile.h</file>
+ </namespace>
+ </library>
+ </api>
+</gapi-parser-input>
Added: trunk/GKeyFile/sample.cs
==============================================================================
--- (empty file)
+++ trunk/GKeyFile/sample.cs Thu Dec 4 12:39:26 2008
@@ -0,0 +1,81 @@
+/*
+ * sampple.cs : some code using GKeyFile
+ *
+ * Author(s):
+ * Stephane Delcroix (stephane delcroix org)
+ *
+ * Copyright (c) 2008 Novell, Inc.
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ */
+using System;
+using KeyFile;
+
+public class TestGKeyFile
+{
+ static void Main ()
+ {
+ GKeyFile key_file = new GKeyFile ();
+ key_file.SetComment (null, null, String.Format ("This file was autogenerated by sample.cs on {0}", DateTime.Now));
+ key_file.SetString ("General", "sKey0", "that's the string value associated to the sKey0");
+ key_file.SetComment ("General", null, "A comment for the General group");
+ key_file.SetComment ("General", "sKey0", "A comment for the sKey0 key");
+ key_file.SetStringList ("Lists", "sList", new string [] {"item0", "item1", "item2", "lastitem"});
+ key_file.SetBoolean ("SingleValues", "aBool", true);
+ key_file.SetBoolean ("SingleValues", "anotherBool", false);
+ key_file.SetString ("SingleValues", "aString", "this is _not_ a string");
+ key_file.SetInteger ("SingleValues", "anInt", 42);
+ key_file.SetDouble ("SingleValues", "aDouble", Math.PI);
+ key_file.SetComment ("SingleValues", "aDouble", "Change this at the time the square became the new circle");
+ key_file.Save ("mysamplefile.ini");
+
+ key_file = new GKeyFile ("mysamplefile.ini");
+ key_file.RemoveComment ("SingleValues", "aDouble");
+ key_file.SetBooleanList ("Lists", "bools", new bool [] {true, false, false, true});
+ key_file.SetIntegerList ("Lists", "ints", new int [] {0, 1, 2, -3, -5});
+ key_file.SetDoubleList ("Lists", "doubles", new double [] {Math.PI, Math.Sqrt (2)});
+
+ foreach (string group in key_file.GetGroups()) {
+ Console.WriteLine ("\t"+group);
+ foreach (string key in key_file.GetKeys (group))
+ Console.WriteLine ("\t\t"+ key);
+ }
+ Console.WriteLine (key_file.HasGroup ("Foo"));
+ Console.WriteLine (key_file.HasGroup ("General"));
+ Console.WriteLine (key_file.HasKey ("General", "sKey0"));
+ Console.WriteLine (key_file.HasKey ("General", "sKey1"));
+ try {
+ key_file.GetValue ("foo", "bar");
+ } catch (GLib.GException e) {
+ Console.WriteLine (e);
+ }
+ foreach (string val in key_file.GetStringList ("Lists", "sList"))
+ Console.WriteLine (val);
+
+ key_file.Save ("mysamplefile2.ini");
+
+ key_file = new GKeyFile ("mysamplefile.ini");
+ key_file.RemoveGroup ("General");
+ key_file.Save ("mysamplefile3.ini");
+
+ }
+}
Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am (original)
+++ trunk/Makefile.am Thu Dec 4 12:39:26 2008
@@ -16,7 +16,8 @@
tools \
po \
src \
- extensions
+ extensions \
+ GKeyFile
DIST_SUBDIRS = \
gio-sharp \
@@ -37,7 +38,8 @@
tools \
po \
src \
- extensions
+ extensions \
+ GKeyFile
desktop_in_files= \
f-spot.desktop.in \
Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in (original)
+++ trunk/configure.in Thu Dec 4 12:39:26 2008
@@ -366,6 +366,7 @@
src/f-spot.exe.config
src/Cms.dll.config
src/Makefile
+GKeyFile/Makefile
glitz-sharp/Makefile
glitz-sharp/src/Makefile
Tao/Makefile
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]