1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
<refentry id="gmime-question-index" revision="1 Feb 2003">
<refmeta>
<refentrytitle>Frequently Asked Questions</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>Frequently Asked Questions</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Frequently Asked Questions</refname>
<refpurpose>
Find answers to common questions in the GMime manual
</refpurpose>
</refnamediv>
<refsect1>
<title>Questions and Answers</title>
<para>This is an "index" of the reference manual
organized by common "How do I..." questions. If you
aren't sure which documentation to read for the question you have,
this list is a good place to start.
</para>
<qandaset>
<qandadiv>
<title>General</title>
<qandaentry>
<question><para>Where can I get help with GMime, submit a bug report, or make a feature request?</para></question>
<answer>
<para>See the <link
linkend="gmime-resources">documentation on this
topic</link>.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>How do I port from one GMime version to another?</para></question>
<answer>
<para>See the <link linkend="gmime-changes-2-0">list of
incompatible changes from 1.0 to 2.0</link>.</para>
<para>If you have a question not covered in the manual,
feel free to ask me personally by emailing me at <ulink
url="mailto:fejj@ximian.com">fejj@ximian.com</ulink>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>How does memory management work in GMime? Should I free data returned from functions?</para></question>
<answer>
<para>See the documentation for <ulink
url="http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html">GObject</ulink>. For <ulink
url="http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html">GObject</ulink> note specifically <ulink
url="http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html#g-object-ref">g_object_ref()</ulink> and <ulink
url="http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref()</ulink>.
</para>
<para>For strings returned from functions, they will be
declared "const" if they should not be freed. Non-const
strings should be freed with <ulink
url="http://developer.gnome.org/doc/API/2.0/glib/glib-Memory-Allocation.html#g-free">g_free()</ulink>. Arrays follow the same
rule. (If you find an exception to the rules, please
report a bug to <ulink
url="http://bugzilla.gnome.org">http://bugzilla.gnome.org</ulink>.)
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>How do I use GMime with threads?</para></question>
<answer>
<para>First, read the <ulink
url="http://developer.gnome.org/doc/API/2.0/glib/glib-Threads.html">GThread</ulink> documentation for
portable threading primitives.</para>
<para>Secondly, all functions in <link
linkend="gmime-charset">gmime-charset</link>, <link
linkend="gmime-iconv">gmime-iconv</link> and <link
linkend="gmime-utils">gmime-utils</link> should be
thread-safe. Objects subclassing <ulink
url="http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html">GObject</ulink> are not.
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>How do I use GMime with C++?</para></question>
<answer>
<para>The GMime header files use the subset of C that's
also valid C++, so you can simply use the normal GMime API
in a C++ program.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>How do I use GMime with other non-C languages?</para></question>
<answer>
<para>As of June 18th, 2003 there is now a set of Perl
bindings for GMime called <ulink
url="http://search.cpan.org/dist/MIME-Fast/">MIME::Fast</ulink>. Thanks
to Piotr Klaban for his efforts.</para>
</answer>
</qandaentry>
</qandadiv>
</qandaset>
</refsect1>
</refentry>
|