## Text

Text —

## Synopsis

                GsfInputTextline;
    GsfInput*   gsf_input_textline_new          (GsfInput *source);
    unsigned char* gsf_input_textline_ascii_gets
                                                (GsfInputTextline *input);
    guint8*     gsf_input_textline_utf8_gets    (GsfInputTextline *input);
                GsfOutputIconv;
    GsfOutput*  gsf_output_iconv_new            (GsfOutput *sink,
                                                 char const *dst,
                                                 char const *src);
                GsfOutputCsv;
    gboolean    gsf_output_csv_write_eol        (GsfOutputCsv *csv);
    gboolean    gsf_output_csv_write_field      (GsfOutputCsv *csv,
                                                 char const *field,
                                                 size_t len);
    enum        GsfOutputCsvQuotingMode;

## Object Hierarchy

      GObject
       +----GsfInput
             +----GsfInputTextline

## Description

## Details

### GsfInputTextline

    typedef struct _GsfInputTextline GsfInputTextline;

### gsf_input_textline_new ()

    GsfInput*   gsf_input_textline_new          (GsfInput *source);

NOTE : adds a reference to `source`

`source` : | in some combination of ascii and utf8
Returns : | a new file or NULL.

### gsf_input_textline_ascii_gets ()

    unsigned char* gsf_input_textline_ascii_gets
                                                (GsfInputTextline *input);

A utility routine to read things line by line from the underlying source. Trailing newlines and carriage returns are stripped, and the resultant buffer can be edited.

`input` : |
Returns : | the string read, or NULL on eof.

### gsf_input_textline_utf8_gets ()

    guint8*     gsf_input_textline_utf8_gets    (GsfInputTextline *input);

A utility routine to read things line by line from the underlying source. Trailing newlines and carriage returns are stripped, and the resultant buffer can be edited.

`input` : |
Returns : | the string read, or NULL on eof.

### GsfOutputIconv

    typedef struct _GsfOutputIconv GsfOutputIconv;

### gsf_output_iconv_new ()

    GsfOutput*  gsf_output_iconv_new            (GsfOutput *sink,
                                                 char const *dst,
                                                 char const *src);

Adds a reference to `sink`.

`sink` : | The underlying data source.
`dst` : | The target character set.
`src` : | The source character set.
Returns : | a new GsfOutput object or NULL.

### GsfOutputCsv

    typedef struct {
    	GsfOutput output;

    	GsfOutput *sink;

    	char *quote;
    	size_t quote_len;
    	GsfOutputCsvQuotingMode quoting_mode;
    	char *quoting_triggers;

    	char *eol;
    	size_t eol_len;
    	char *separator;
    	size_t separator_len;
    	gboolean fields_on_line;

    	GString *buf;
    } GsfOutputCsv;

### gsf_output_csv_write_eol ()

    gboolean    gsf_output_csv_write_eol        (GsfOutputCsv *csv);

`csv` : |
Returns : |

### gsf_output_csv_write_field ()

    gboolean    gsf_output_csv_write_field      (GsfOutputCsv *csv,
                                                 char const *field,
                                                 size_t len);

`csv` : |
`field` : |
`len` : |
Returns : |

### enum GsfOutputCsvQuotingMode

    typedef enum {
    	GSF_OUTPUT_CSV_QUOTING_MODE_NEVER,
    	GSF_OUTPUT_CSV_QUOTING_MODE_AUTO,
    	GSF_OUTPUT_CSV_QUOTING_MODE_ALWAYS
    } GsfOutputCsvQuotingMode;