GLib.OptionEntry.arg_data
OptionEntry.arg_data: void (Read)
If the @arg type is GLib.OptionArg.callback, then @arg_data must point to a GLib.OptionArgFunc callback function, which will be called to handle the extra argument. Otherwise, @arg_data is a pointer to a location to store the value, the required type of the location depends on the @arg type: <variablelist> <varlistentry> <term>GLib.OptionArg.none</term> <listitem><para>%gboolean</para></listitem> </varlistentry> <varlistentry> <term>GLib.OptionArg.string</term> <listitem><para>%gchar*</para></listitem> </varlistentry> <varlistentry> <term>GLib.OptionArg.int</term> <listitem><para>%gint</para></listitem> </varlistentry> <varlistentry> <term>GLib.OptionArg.filename</term> <listitem><para>%gchar*</para></listitem> </varlistentry> <varlistentry> <term>GLib.OptionArg.string_array</term> <listitem><para>%gchar**</para></listitem> </varlistentry> <varlistentry> <term>GLib.OptionArg.filename_array</term> <listitem><para>%gchar**</para></listitem> </varlistentry> <varlistentry> <term>GLib.OptionArg.double</term> <listitem><para>%gdouble</para></listitem> </varlistentry> </variablelist> If @arg type is GLib.OptionArg.string or GLib.OptionArg.filename the location will contain a newly allocated string if the option was given. That string needs to be freed by the callee using GLib.free. Likewise if @arg type is GLib.OptionArg.string_array or GLib.OptionArg.filename_array, the data should be freed using GLib.strfreev.