[pygobject] Wrap three gio.Mount methods



commit d292dd4f624f2a08afc228f82a5f72e77593864e
Author: Gian Mario Tagliaretti <gianmt gnome org>
Date:   Wed Apr 29 21:28:44 2009 +0200

    Wrap three gio.Mount methods
    
    the following methods of gio.Mount have been wrapped including docs
    (_wrap_g_mount_guess_content_type)
    (_wrap_g_mount_guess_content_type_finish)
    (_wrap_g_mount_guess_content_type_sync)
---
 docs/reference/pygio-mount.xml |  152 ++++++++++++++++++++++++++++++++++++++++
 gio/gio.override               |    1 +
 gio/gmount.override            |  142 +++++++++++++++++++++++++++++++++++++
 3 files changed, 295 insertions(+), 0 deletions(-)

diff --git a/docs/reference/pygio-mount.xml b/docs/reference/pygio-mount.xml
index 0ea320d..f5688c5 100644
--- a/docs/reference/pygio-mount.xml
+++ b/docs/reference/pygio-mount.xml
@@ -58,6 +58,22 @@
         <methodparam></methodparam>
     </methodsynopsis>
     <methodsynopsis language="python">
+        <methodname><link linkend="method-giomount--guess-content-type">guess_content_type</link></methodname>
+        <methodparam><parameter role="keyword">callback</parameter></methodparam>
+        <methodparam><parameter role="keyword">force_rescan</parameter></methodparam>
+        <methodparam><parameter role="keyword">cancellable</parameter><initializer><literal>None</literal></initializer></methodparam>
+        <methodparam><parameter role="keyword">user_data</parameter><initializer><literal>None</literal></initializer></methodparam>
+    </methodsynopsis>
+    <methodsynopsis language="python">
+        <methodname><link linkend="method-giomount--guess-content-type-finish">guess_content_type_finish</link></methodname>
+        <methodparam><parameter role="keyword">result</parameter></methodparam>
+    </methodsynopsis>
+    <methodsynopsis language="python">
+        <methodname><link linkend="method-giomount--guess-content-type-sync">guess_content_type_sync</link></methodname>
+        <methodparam><parameter role="keyword">force_rescan</parameter></methodparam>
+        <methodparam><parameter role="keyword">cancellable</parameter><initializer><literal>None</literal></initializer></methodparam>
+    </methodsynopsis>
+    <methodsynopsis language="python">
         <methodname><link linkend="method-giomount--remount">remount</link></methodname>
         <methodparam><parameter role="keyword">callback</parameter></methodparam>
         <methodparam><parameter role="keyword">flags</parameter><initializer><literal>gio.MOUNT_UNMOUNT_NONE</literal></initializer></methodparam>
@@ -424,6 +440,132 @@
             </para>
         </refsect2>
 
+        <refsect2 id="method-giomount--guess-content-type">
+            <title>gio.Mount.guess_content_type</title>
+
+            <programlisting><methodsynopsis language="python">
+                <methodname>guess_content_type</methodname>
+                <methodparam><parameter role="keyword">callback</parameter></methodparam>
+                <methodparam><parameter role="keyword">force_rescan</parameter></methodparam>
+                <methodparam><parameter role="keyword">cancellable</parameter><initializer><literal>None</literal></initializer></methodparam>
+                <methodparam><parameter role="keyword">user_data</parameter><initializer><literal>None</literal></initializer></methodparam>
+            </methodsynopsis></programlisting>
+            
+            <variablelist>
+                <varlistentry>
+                  <term><parameter role="keyword">callback</parameter>&nbsp;:</term>
+                  <listitem><simpara>A GAsyncReadyCallback to call when the request is satisfied.
+                  </simpara></listitem>
+                </varlistentry>
+                <varlistentry>
+                  <term><parameter role="keyword">force_rescan</parameter>&nbsp;:</term>
+                  <listitem><simpara>Whether to force a rescan of the content. Otherwise a cached result will be used if available.
+                  </simpara></listitem>
+                </varlistentry>
+                <varlistentry>
+                  <term><parameter role="keyword">cancellable</parameter>&nbsp;:</term>
+                  <listitem><simpara>Optional
+                  <link linkend="class-giocancellable"><classname>gio.Cancellable</classname></link>
+                  object, <literal>None</literal> to ignore.
+                  </simpara></listitem>
+                </varlistentry>
+                <varlistentry>
+                  <term><parameter role="keyword">user_data</parameter>&nbsp;:</term>
+                  <listitem><simpara>The data to pass to callback function.
+                  </simpara></listitem>
+                </varlistentry>
+            </variablelist>
+    
+            <para>
+                The <methodname>guess_content_type</methodname>() method asynchronously tries to guess the type of
+                content stored on mount. Returns one or more textual identifiers of well-known content
+                types (typically prefixed with "x-content/"), e.g. x-content/image-dcf for camera memory
+                cards. See the shared-mime-info specification for more on x-content types.
+            </para>
+            <para>
+                If cancellable is not <literal>None</literal>, then the operation can be cancelled
+                by triggering the cancellable object from another thread. If the operation was cancelled,
+                the error gio.IO_ERROR_CANCELLED will be returned.
+            </para>
+            <para>
+                When the operation is finished, callback will be called. You can then call
+                <methodname><link linkend="method-giomount--guess-content-type-finish">gio.Mount.guess_content_type_finish</link></methodname>()
+                to obtain the result of the operation.
+            </para>
+        </refsect2>
+
+        <refsect2 id="method-giomount--guess-content-type-finish">
+            <title>gio.Mount.guess_content_type_finish</title>
+
+            <programlisting><methodsynopsis language="python">
+                <methodname>guess_content_type_finish</methodname>
+                <methodparam><parameter role="keyword">result</parameter></methodparam>
+            </methodsynopsis></programlisting>
+            
+            <variablelist>
+                <varlistentry>
+                  <term><parameter role="keyword">result</parameter>&nbsp;:</term>
+                  <listitem><simpara>a <link linkend="class-gioasyncresult"><classname>gio.AsyncResult</classname></link>.
+                  </simpara></listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term><emphasis>Returns</emphasis>&nbsp;:</term>
+                    <listitem><simpara>A list of types or <literal>None</literal> on error.
+                    </simpara></listitem>
+                </varlistentry>
+            </variablelist>
+    
+            <para>
+                The <methodname>guess_content_type_finish</methodname>() method finishes guessing content
+                types of mount. If any errors occured during the operation, error will be set to
+                contain the errors and FALSE will be returned. In particular, you may get an
+                gio.IO_ERROR_NOT_SUPPORTED if the mount does not support content guessing.
+            </para>
+        </refsect2>
+
+        <refsect2 id="method-giomount--guess-content-type-sync">
+            <title>gio.Mount.guess_content_type_sync</title>
+
+            <programlisting><methodsynopsis language="python">
+                <methodname>guess_content_type_sync</methodname>
+                <methodparam><parameter role="keyword">force_rescan</parameter></methodparam>
+                <methodparam><parameter role="keyword">cancellable</parameter><initializer><literal>None</literal></initializer></methodparam>
+            </methodsynopsis></programlisting>
+            
+            <variablelist>
+                <varlistentry>
+                  <term><parameter role="keyword">force_rescan</parameter>&nbsp;:</term>
+                  <listitem><simpara>Whether to force a rescan of the content. Otherwise a cached result will be used if available.
+                  </simpara></listitem>
+                </varlistentry>
+                <varlistentry>
+                  <term><parameter role="keyword">cancellable</parameter>&nbsp;:</term>
+                  <listitem><simpara>Optional
+                  <link linkend="class-giocancellable"><classname>gio.Cancellable</classname></link>
+                  object, <literal>None</literal> to ignore.
+                  </simpara></listitem>
+                </varlistentry>
+            </variablelist>
+    
+            <para>
+                The <methodname>guess_content_type_sync</methodname>() method tries to guess
+                the type of content stored on mount. Returns one or more textual identifiers
+                of well-known content types (typically prefixed with "x-content/"), e.g.
+                x-content/image-dcf for camera memory cards. See the shared-mime-info specification
+                for more on x-content types.
+            </para>
+            <para>
+                If cancellable is not <literal>None</literal>, then the operation can be cancelled
+                by triggering the cancellable object from another thread. If the operation was cancelled,
+                the error gio.IO_ERROR_CANCELLED will be returned.
+            </para>
+            <para>
+                This is an synchronous operation and as such may block doing IO; see
+                <methodname><link linkend="method-giomount--guess-content-type">gio.Mount.guess_content_type</link></methodname>()
+                for the asynchronous version.
+            </para>
+        </refsect2>
+
         <refsect2 id="method-giomount--remount">
             <title>gio.Mount.remount</title>
 
@@ -472,6 +614,11 @@
                 The <methodname>remount</methodname>() method asynchronously remounts a mount.
             </para>
             <para>
+                If cancellable is not <literal>None</literal>, then the operation can be cancelled
+                by triggering the cancellable object from another thread. If the operation was cancelled,
+                the error gio.IO_ERROR_CANCELLED will be returned.
+            </para>
+            <para>
                 When the operation is finished, callback will be called. You can then call
                 <methodname><link linkend="method-giomount--remount-finish">gio.Mount.remount_finish</link></methodname>()
                 to obtain the result of the operation.
@@ -546,6 +693,11 @@
                 The <methodname>unmount</methodname>() method asynchronously unmounts a mount.
             </para>
             <para>
+                If cancellable is not <literal>None</literal>, then the operation can be cancelled
+                by triggering the cancellable object from another thread. If the operation was cancelled,
+                the error gio.IO_ERROR_CANCELLED will be returned.
+            </para>
+            <para>
                 When the operation is finished, callback will be called. You can then call
                 <methodname><link linkend="method-giomount--unmount-finish">gio.Mount.unmount_finish</link></methodname>()
                 to obtain the result of the operation.
diff --git a/gio/gio.override b/gio/gio.override
index 0d5da96..c117fdf 100644
--- a/gio/gio.override
+++ b/gio/gio.override
@@ -236,6 +236,7 @@ include
   gfileenumerator.override
   gfileinfo.override
   gicon.override
+  gmount.override
   ginputstream.override
   goutputstream.override
   gvolume.override
diff --git a/gio/gmount.override b/gio/gmount.override
new file mode 100644
index 0000000..43eca14
--- /dev/null
+++ b/gio/gmount.override
@@ -0,0 +1,142 @@
+/* -*- Mode: C; c-basic-offset: 4 -*-
+ * pygobject - Python bindings for GObject
+ * Copyright (C) 2009  Gian Mario Tagliaretti
+ *
+ *   gmount.override: module overrides for GMount
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ */
+%%
+override g_mount_guess_content_type kwargs
+static PyObject *
+_wrap_g_mount_guess_content_type(PyGObject *self,
+                                 PyObject *args,
+                                 PyObject *kwargs)
+{
+    static char *kwlist[] = { "callback", "force_rescan",
+                              "cancellable", "user_data", NULL };
+    PyGIONotify *notify;
+    PyGObject *py_cancellable = NULL;
+    GCancellable *cancellable;
+    gboolean force_rescan;
+
+    notify = pygio_notify_new();
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                     "Oi|OO:Mount.guess_content_type",
+                                     kwlist,
+                                     &notify->callback,
+                                     &force_rescan,
+                                     &py_cancellable,
+                                     &notify->data))
+        goto error;
+
+    if (!pygio_notify_callback_is_valid(notify))
+        goto error;
+
+    if (!pygio_check_cancellable(py_cancellable, &cancellable))
+        goto error;
+
+    pygio_notify_reference_callback(notify);
+
+    g_mount_guess_content_type(G_MOUNT(self->obj),
+                            force_rescan,
+                            cancellable,
+                            (GAsyncReadyCallback)async_result_callback_marshal,
+                            notify);
+
+    Py_INCREF(Py_None);
+    return Py_None;
+
+    error:
+       pygio_notify_free(notify);
+       return NULL;
+}
+%%
+override g_mount_guess_content_type_finish kwargs
+static PyObject *
+_wrap_g_mount_guess_content_type_finish(PyGObject *self,
+                                        PyObject *args,
+                                        PyObject *kwargs)
+{
+    static char *kwlist[] = { "result", NULL };
+    PyGObject *result;
+    GError *error = NULL;
+    char **ret;
+    PyObject *py_ret;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                     "O!:Mount.guess_content_type_finish",
+                                      kwlist,
+                                      &PyGAsyncResult_Type,
+                                      &result))
+        return NULL;
+
+    ret = g_mount_guess_content_type_finish(G_MOUNT(self->obj),
+                                         G_ASYNC_RESULT(result->obj), &error);
+
+    if (pyg_error_check(&error))
+        return NULL;
+
+    if (ret && ret[0] != NULL) {
+        py_ret = strv_to_pylist(ret);
+        g_strfreev (ret);
+    } else {
+        py_ret = Py_None;
+        Py_INCREF(py_ret);
+    }
+    return py_ret;
+}
+%%
+override g_mount_guess_content_type_sync kwargs
+static PyObject *
+_wrap_g_mount_guess_content_type_sync(PyGObject *self,
+                                      PyObject *args,
+                                      PyObject *kwargs)
+{
+    static char *kwlist[] = { "force_rescan", "cancellable", NULL };
+    gboolean force_rescan;
+    PyGObject *py_cancellable = NULL;
+    GCancellable *cancellable;
+    GError *error = NULL;
+    char **ret;
+    PyObject *py_ret;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                     "i|O:Mount.guess_content_type_sync",
+                                      kwlist,
+                                      &force_rescan,
+                                      &py_cancellable))
+        return NULL;
+
+    if (!pygio_check_cancellable(py_cancellable, &cancellable))
+        return NULL;
+
+    ret = g_mount_guess_content_type_sync(G_MOUNT(self->obj), force_rescan,
+                                          cancellable, &error);
+
+    if (pyg_error_check(&error))
+        return NULL;
+
+    if (ret && ret[0] != NULL) {
+        py_ret = strv_to_pylist(ret);
+        g_strfreev (ret);
+    } else {
+        py_ret = Py_None;
+        Py_INCREF(py_ret);
+    }
+    return py_ret;
+}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]