mirror of https://github.com/Gnucash/gnucash
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
334 lines
16 KiB
334 lines
16 KiB
<refentry id="gsf-Reading-and-Writing-from-local-files-and-directories">
|
|
<refmeta>
|
|
<refentrytitle>Reading and Writing from local files and directories</refentrytitle>
|
|
<manvolnum>3</manvolnum>
|
|
<refmiscinfo>GSF Library</refmiscinfo>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>Reading and Writing from local files and directories</refname><refpurpose></refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv><title>Synopsis</title>
|
|
<anchor id="GsfInputStdio"/><anchor id="GsfOutputStdio"/><anchor id="GsfOutfileStdio"/><anchor id="GsfInfileStdio"/>
|
|
<synopsis>
|
|
|
|
|
|
|
|
<link linkend="GsfInputStdio-struct">GsfInputStdio</link>;
|
|
<link linkend="GsfInput">GsfInput</link>* <link linkend="gsf-input-stdio-new">gsf_input_stdio_new</link> (<link linkend="char">char</link> const *filename,
|
|
<link linkend="GError">GError</link> **err);
|
|
<link linkend="GsfOutputStdio-struct">GsfOutputStdio</link>;
|
|
<link linkend="GsfOutput">GsfOutput</link>* <link linkend="gsf-output-stdio-new">gsf_output_stdio_new</link> (<link linkend="char">char</link> const *filename,
|
|
<link linkend="GError">GError</link> **err);
|
|
<link linkend="GsfOutput">GsfOutput</link>* <link linkend="gsf-output-stdio-new-full">gsf_output_stdio_new_full</link> (<link linkend="char">char</link> const *filename,
|
|
<link linkend="GError">GError</link> **err,
|
|
<link linkend="char">char</link> const *first_property_name,
|
|
...);
|
|
<link linkend="GsfOutput">GsfOutput</link>* <link linkend="gsf-output-stdio-new-valist">gsf_output_stdio_new_valist</link> (<link linkend="char">char</link> const *filename,
|
|
<link linkend="GError">GError</link> **err,
|
|
<link linkend="char">char</link> const *first_property_name,
|
|
<link linkend="va-list">va_list</link> var_args);
|
|
<link linkend="GsfOutput">GsfOutput</link>* <link linkend="gsf-output-stdio-new-FILE">gsf_output_stdio_new_FILE</link> (<link linkend="char">char</link> const *filename,
|
|
<link linkend="FILE:CAPS">FILE</link> *file,
|
|
<link linkend="gboolean">gboolean</link> keep_open);
|
|
<link linkend="GsfOutfileStdio-struct">GsfOutfileStdio</link>;
|
|
<link linkend="GsfOutfile">GsfOutfile</link>* <link linkend="gsf-outfile-stdio-new">gsf_outfile_stdio_new</link> (<link linkend="char">char</link> const *root,
|
|
<link linkend="GError">GError</link> **err);
|
|
<link linkend="GsfOutfile">GsfOutfile</link>* <link linkend="gsf-outfile-stdio-new-full">gsf_outfile_stdio_new_full</link> (<link linkend="char">char</link> const *root,
|
|
<link linkend="GError">GError</link> **err,
|
|
<link linkend="char">char</link> const *first_property_name,
|
|
...);
|
|
<link linkend="GsfOutfile">GsfOutfile</link>* <link linkend="gsf-outfile-stdio-new-valist">gsf_outfile_stdio_new_valist</link> (<link linkend="char">char</link> const *root,
|
|
<link linkend="GError">GError</link> **err,
|
|
<link linkend="char">char</link> const *first_property_name,
|
|
<link linkend="va-list">va_list</link> var_args);
|
|
<link linkend="GsfInfileStdio-struct">GsfInfileStdio</link>;
|
|
<link linkend="GsfInfile">GsfInfile</link>* <link linkend="gsf-infile-stdio-new">gsf_infile_stdio_new</link> (<link linkend="char">char</link> const *root,
|
|
<link linkend="GError">GError</link> **err);
|
|
|
|
|
|
</synopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Object Hierarchy</title>
|
|
<synopsis>
|
|
|
|
<link linkend="GObject">GObject</link>
|
|
+----<link linkend="GsfInput">GsfInput</link>
|
|
+----GsfInputStdio
|
|
</synopsis>
|
|
<synopsis>
|
|
|
|
<link linkend="GObject">GObject</link>
|
|
+----<link linkend="GsfOutput">GsfOutput</link>
|
|
+----GsfOutputStdio
|
|
</synopsis>
|
|
<synopsis>
|
|
|
|
<link linkend="GObject">GObject</link>
|
|
+----<link linkend="GsfOutput">GsfOutput</link>
|
|
+----<link linkend="GsfOutfile">GsfOutfile</link>
|
|
+----GsfOutfileStdio
|
|
</synopsis>
|
|
<synopsis>
|
|
|
|
<link linkend="GObject">GObject</link>
|
|
+----<link linkend="GsfInput">GsfInput</link>
|
|
+----<link linkend="GsfInfile">GsfInfile</link>
|
|
+----GsfInfileStdio
|
|
</synopsis>
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<para>
|
|
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Details</title>
|
|
<refsect2>
|
|
<title><anchor id="GsfInputStdio-struct"/>GsfInputStdio</title>
|
|
<indexterm><primary>GsfInputStdio</primary></indexterm><programlisting>typedef struct _GsfInputStdio GsfInputStdio;</programlisting>
|
|
<para>
|
|
|
|
</para></refsect2>
|
|
<refsect2>
|
|
<title><anchor id="gsf-input-stdio-new"/>gsf_input_stdio_new ()</title>
|
|
<indexterm><primary>gsf_input_stdio_new</primary></indexterm><programlisting><link linkend="GsfInput">GsfInput</link>* gsf_input_stdio_new (<link linkend="char">char</link> const *filename,
|
|
<link linkend="GError">GError</link> **err);</programlisting>
|
|
<para>
|
|
</para>
|
|
<para>
|
|
|
|
</para><variablelist role="params">
|
|
<varlistentry><term><parameter>filename</parameter> :</term>
|
|
<listitem><simpara> in utf8.
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>err</parameter> :</term>
|
|
<listitem><simpara> optionally NULL.
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>a new file or NULL.
|
|
</simpara></listitem></varlistentry>
|
|
</variablelist></refsect2>
|
|
<refsect2>
|
|
<title><anchor id="GsfOutputStdio-struct"/>GsfOutputStdio</title>
|
|
<indexterm><primary>GsfOutputStdio</primary></indexterm><programlisting>typedef struct _GsfOutputStdio GsfOutputStdio;</programlisting>
|
|
<para>
|
|
|
|
</para></refsect2>
|
|
<refsect2>
|
|
<title><anchor id="gsf-output-stdio-new"/>gsf_output_stdio_new ()</title>
|
|
<indexterm><primary>gsf_output_stdio_new</primary></indexterm><programlisting><link linkend="GsfOutput">GsfOutput</link>* gsf_output_stdio_new (<link linkend="char">char</link> const *filename,
|
|
<link linkend="GError">GError</link> **err);</programlisting>
|
|
<para>
|
|
</para>
|
|
<para>
|
|
|
|
</para><variablelist role="params">
|
|
<varlistentry><term><parameter>filename</parameter> :</term>
|
|
<listitem><simpara> name of file to create or replace.
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>err</parameter> :</term>
|
|
<listitem><simpara> optionally NULL.
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>a new file or NULL.
|
|
</simpara></listitem></varlistentry>
|
|
</variablelist></refsect2>
|
|
<refsect2>
|
|
<title><anchor id="gsf-output-stdio-new-full"/>gsf_output_stdio_new_full ()</title>
|
|
<indexterm><primary>gsf_output_stdio_new_full</primary></indexterm><programlisting><link linkend="GsfOutput">GsfOutput</link>* gsf_output_stdio_new_full (<link linkend="char">char</link> const *filename,
|
|
<link linkend="GError">GError</link> **err,
|
|
<link linkend="char">char</link> const *first_property_name,
|
|
...);</programlisting>
|
|
<para>
|
|
</para>
|
|
<para>
|
|
|
|
</para><variablelist role="params">
|
|
<varlistentry><term><parameter>filename</parameter> :</term>
|
|
<listitem><simpara> name of file to create or replace.
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>err</parameter> :</term>
|
|
<listitem><simpara> optionally NULL.
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>first_property_name</parameter> :</term>
|
|
<listitem><simpara> NULL terminated list of properties
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>...</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>a new file or NULL.
|
|
</simpara></listitem></varlistentry>
|
|
</variablelist></refsect2>
|
|
<refsect2>
|
|
<title><anchor id="gsf-output-stdio-new-valist"/>gsf_output_stdio_new_valist ()</title>
|
|
<indexterm><primary>gsf_output_stdio_new_valist</primary></indexterm><programlisting><link linkend="GsfOutput">GsfOutput</link>* gsf_output_stdio_new_valist (<link linkend="char">char</link> const *filename,
|
|
<link linkend="GError">GError</link> **err,
|
|
<link linkend="char">char</link> const *first_property_name,
|
|
<link linkend="va-list">va_list</link> var_args);</programlisting>
|
|
<para>
|
|
|
|
</para><variablelist role="params">
|
|
<varlistentry><term><parameter>filename</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>err</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>first_property_name</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>var_args</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
|
|
|
|
|
|
</simpara></listitem></varlistentry>
|
|
</variablelist></refsect2>
|
|
<refsect2>
|
|
<title><anchor id="gsf-output-stdio-new-FILE"/>gsf_output_stdio_new_FILE ()</title>
|
|
<indexterm><primary>gsf_output_stdio_new_FILE</primary></indexterm><programlisting><link linkend="GsfOutput">GsfOutput</link>* gsf_output_stdio_new_FILE (<link linkend="char">char</link> const *filename,
|
|
<link linkend="FILE:CAPS">FILE</link> *file,
|
|
<link linkend="gboolean">gboolean</link> keep_open);</programlisting>
|
|
<para>
|
|
Assumes ownership of <parameter>file</parameter>. If <parameter>keep_open</parameter> is true, ownership reverts
|
|
to caller when the GsfObject is closed.</para>
|
|
<para>
|
|
|
|
</para><variablelist role="params">
|
|
<varlistentry><term><parameter>filename</parameter> :</term>
|
|
<listitem><simpara> The filename corresponding to <parameter>file</parameter>.
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>file</parameter> :</term>
|
|
<listitem><simpara> an existing stdio FILE *
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>keep_open</parameter> :</term>
|
|
<listitem><simpara> Should <parameter>file</parameter> be closed when the wrapper is closed
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>a new GsfOutput wrapper for <parameter>file</parameter>. Warning: the result will be
|
|
seekable only if <parameter>file</parameter> is seekable. If it is seekable, the resulting
|
|
GsfOutput object will seek relative to <parameter>file</parameter>'s beginning, not its
|
|
current location at the time the GsfOutput object is created.
|
|
</simpara></listitem></varlistentry>
|
|
</variablelist></refsect2>
|
|
<refsect2>
|
|
<title><anchor id="GsfOutfileStdio-struct"/>GsfOutfileStdio</title>
|
|
<indexterm><primary>GsfOutfileStdio</primary></indexterm><programlisting>typedef struct _GsfOutfileStdio GsfOutfileStdio;</programlisting>
|
|
<para>
|
|
|
|
</para></refsect2>
|
|
<refsect2>
|
|
<title><anchor id="gsf-outfile-stdio-new"/>gsf_outfile_stdio_new ()</title>
|
|
<indexterm><primary>gsf_outfile_stdio_new</primary></indexterm><programlisting><link linkend="GsfOutfile">GsfOutfile</link>* gsf_outfile_stdio_new (<link linkend="char">char</link> const *root,
|
|
<link linkend="GError">GError</link> **err);</programlisting>
|
|
<para>
|
|
</para>
|
|
<para>
|
|
|
|
</para><variablelist role="params">
|
|
<varlistentry><term><parameter>root</parameter> :</term>
|
|
<listitem><simpara> root directory in utf8.
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>err</parameter> :</term>
|
|
<listitem><simpara> optionally NULL.
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>a new outfile or NULL.
|
|
</simpara></listitem></varlistentry>
|
|
</variablelist></refsect2>
|
|
<refsect2>
|
|
<title><anchor id="gsf-outfile-stdio-new-full"/>gsf_outfile_stdio_new_full ()</title>
|
|
<indexterm><primary>gsf_outfile_stdio_new_full</primary></indexterm><programlisting><link linkend="GsfOutfile">GsfOutfile</link>* gsf_outfile_stdio_new_full (<link linkend="char">char</link> const *root,
|
|
<link linkend="GError">GError</link> **err,
|
|
<link linkend="char">char</link> const *first_property_name,
|
|
...);</programlisting>
|
|
<para>
|
|
|
|
</para><variablelist role="params">
|
|
<varlistentry><term><parameter>root</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>err</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>first_property_name</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>...</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
|
|
|
|
|
|
</simpara></listitem></varlistentry>
|
|
</variablelist></refsect2>
|
|
<refsect2>
|
|
<title><anchor id="gsf-outfile-stdio-new-valist"/>gsf_outfile_stdio_new_valist ()</title>
|
|
<indexterm><primary>gsf_outfile_stdio_new_valist</primary></indexterm><programlisting><link linkend="GsfOutfile">GsfOutfile</link>* gsf_outfile_stdio_new_valist (<link linkend="char">char</link> const *root,
|
|
<link linkend="GError">GError</link> **err,
|
|
<link linkend="char">char</link> const *first_property_name,
|
|
<link linkend="va-list">va_list</link> var_args);</programlisting>
|
|
<para>
|
|
|
|
</para><variablelist role="params">
|
|
<varlistentry><term><parameter>root</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>err</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>first_property_name</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>var_args</parameter> :</term>
|
|
<listitem><simpara>
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
|
|
|
|
|
|
</simpara></listitem></varlistentry>
|
|
</variablelist></refsect2>
|
|
<refsect2>
|
|
<title><anchor id="GsfInfileStdio-struct"/>GsfInfileStdio</title>
|
|
<indexterm><primary>GsfInfileStdio</primary></indexterm><programlisting>typedef struct _GsfInfileStdio GsfInfileStdio;</programlisting>
|
|
<para>
|
|
|
|
</para></refsect2>
|
|
<refsect2>
|
|
<title><anchor id="gsf-infile-stdio-new"/>gsf_infile_stdio_new ()</title>
|
|
<indexterm><primary>gsf_infile_stdio_new</primary></indexterm><programlisting><link linkend="GsfInfile">GsfInfile</link>* gsf_infile_stdio_new (<link linkend="char">char</link> const *root,
|
|
<link linkend="GError">GError</link> **err);</programlisting>
|
|
<para>
|
|
</para>
|
|
<para>
|
|
|
|
</para><variablelist role="params">
|
|
<varlistentry><term><parameter>root</parameter> :</term>
|
|
<listitem><simpara> in locale dependent encoding
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><parameter>err</parameter> :</term>
|
|
<listitem><simpara> optionally NULL.
|
|
</simpara></listitem></varlistentry>
|
|
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>a new file or NULL.
|
|
</simpara></listitem></varlistentry>
|
|
</variablelist></refsect2>
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
|
|
</refentry>
|