#include "stdio.h"
#include <string.h>
#include "cr-input.h"
#include "cr-enc-handler.h"
Go to the source code of this file.
Data Structures | |
struct | _CRInputPriv |
The privated attributes of the CRInputPriv class. More... | |
Defines | |
#define | PRIVATE(object) (object)->priv |
#define | CR_INPUT_MEM_CHUNK_SIZE 1024 * 4 |
Functions | |
CRInput * | cr_input_new_from_buf (const guchar *a_buf, gulong a_len, enum CREncoding a_enc, gboolean a_free_buf) |
Creates a new input stream from a memory buffer. | |
CRInput * | cr_input_new_from_uri (const gchar *a_file_uri, enum CREncoding a_enc) |
Creates a new input stream from a file. | |
void | cr_input_destroy (CRInput *a_this) |
The destructor of the CRInput class. | |
void | cr_input_ref (CRInput *a_this) |
Increments the reference count of the current instance of CRInput. | |
gboolean | cr_input_unref (CRInput *a_this) |
Decrements the reference count of this instance of CRInput. | |
enum CRStatus | cr_input_end_of_input (CRInput *a_this, gboolean *a_end_of_input) |
Tests wether the current instance of CRInput has reached it's input buffer. | |
glong | cr_input_get_nb_bytes_left (CRInput *a_this) |
Retunrs the number of bytes left in the input stream before the end. | |
enum CRStatus | cr_input_read_byte (CRInput *a_this, guchar *a_byte) |
Returns the next byte of the input. | |
enum CRStatus | cr_input_read_char (CRInput *a_this, guint32 *a_char) |
Reads an unicode character from the current instance of CRInput. | |
enum CRStatus | cr_input_set_line_num (CRInput *a_this, glong a_line_num) |
Setter of the current line number. | |
enum CRStatus | cr_input_get_line_num (CRInput *a_this, glong *a_line_num) |
Getter of the curren line number. | |
enum CRStatus | cr_input_set_column_num (CRInput *a_this, glong a_col) |
Setter of the current column number. | |
enum CRStatus | cr_input_get_column_num (CRInput *a_this, glong *a_col) |
Getter of the current column number. | |
enum CRStatus | cr_input_increment_line_num (CRInput *a_this, glong a_increment) |
Increments the current line number. | |
enum CRStatus | cr_input_increment_col_num (CRInput *a_this, glong a_increment) |
Increments the current column number. | |
enum CRStatus | cr_input_consume_char (CRInput *a_this, guint32 a_char) |
Consumes the next character of the input stream if and only if that character equals a_char. | |
enum CRStatus | cr_input_consume_chars (CRInput *a_this, guint32 a_char, gulong *a_nb_char) |
Consumes up to a_nb_char occurences of the next contiguous characters which equal a_char. | |
enum CRStatus | cr_input_consume_white_spaces (CRInput *a_this, gulong *a_nb_chars) |
Same as cr_input_consume_chars() but this one consumes white spaces. | |
enum CRStatus | cr_input_peek_char (CRInput *a_this, guint32 *a_char) |
Same as cr_input_read_char() but does not update the internal state of the input stream. | |
enum CRStatus | cr_input_peek_byte (CRInput *a_this, enum CRSeekPos a_origin, gulong a_offset, guchar *a_byte) |
Gets a byte from the input stream. | |
guchar | cr_input_peek_byte2 (CRInput *a_this, gulong a_offset, gboolean *a_eof) |
Same as cr_input_peek_byte() but with a simplified interface. | |
guchar * | cr_input_get_byte_addr (CRInput *a_this, gulong a_offset) |
Returns the memory address of the byte located at a given offset in the input stream. | |
enum CRStatus | cr_input_get_cur_byte_addr (CRInput *a_this, guchar **a_offset) |
Returns the address of the current character pointer. | |
enum CRStatus | cr_input_seek_index (CRInput *a_this, enum CRSeekPos a_origin, gint a_pos) |
Sets the "current byte index" of the current instance of CRInput. | |
enum CRStatus | cr_input_get_cur_pos (CRInput *a_this, CRInputPos *a_pos) |
Gets the position of the "current byte index" which is basically the position of the last returned byte in the input stream. | |
enum CRStatus | cr_input_get_cur_index (CRInput *a_this, glong *a_index) |
Getter of the next byte index. | |
enum CRStatus | cr_input_set_cur_index (CRInput *a_this, glong a_index) |
Setter of the next byte index. | |
enum CRStatus | cr_input_set_end_of_file (CRInput *a_this, gboolean a_eof) |
Sets the end of file flag. | |
enum CRStatus | cr_input_get_end_of_file (CRInput *a_this, gboolean *a_eof) |
Gets the end of file flag. | |
enum CRStatus | cr_input_set_end_of_line (CRInput *a_this, gboolean a_eol) |
Sets the end of line flag. | |
enum CRStatus | cr_input_get_end_of_line (CRInput *a_this, gboolean *a_eol) |
Gets the end of line flag of the current input. | |
enum CRStatus | cr_input_set_cur_pos (CRInput *a_this, CRInputPos *a_pos) |
Sets the current position in the input stream. |
Definition in file cr-input.c.
|
Definition at line 92 of file cr-input.c. Referenced by cr_input_new_from_uri(). |
|
Definition at line 86 of file cr-input.c. |
|
Consumes the next character of the input stream if and only if that character equals a_char.
Definition at line 644 of file cr-input.c. References CR_BAD_PARAM_ERROR, cr_input_peek_char(), cr_input_read_char(), CR_OK, CR_PARSING_ERROR, CRStatus, and PRIVATE. Referenced by cr_input_consume_chars(). |
|
Consumes up to a_nb_char occurences of the next contiguous characters which equal a_char. Note that the next character of the input stream MUST* equal a_char to trigger the consumption, or else, the error code CR_PARSING_ERROR is returned. If the number of contiguous characters that equals a_char is less than a_nb_char, then this function consumes all the characters it can consumed.
Definition at line 689 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_END_OF_INPUT_ERROR, cr_input_consume_char(), CR_OK, CR_PARSING_ERROR, CRStatus, and PRIVATE. Referenced by cr_tknzr_consume_chars(). |
|
Same as cr_input_consume_chars() but this one consumes white spaces.
Definition at line 730 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_END_OF_INPUT_ERROR, cr_input_peek_char(), cr_input_read_char(), CR_OK, cr_utils_is_white_space(), CRStatus, and PRIVATE. |
|
The destructor of the CRInput class.
Definition at line 303 of file cr-input.c. References PRIVATE. Referenced by cr_input_new_from_buf(), cr_input_unref(), and cr_parser_new_from_buf(). |
|
Tests wether the current instance of CRInput has reached it's input buffer.
Definition at line 377 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. |
|
Returns the memory address of the byte located at a given offset in the input stream.
Definition at line 917 of file cr-input.c. References PRIVATE. Referenced by cr_input_get_cur_byte_addr(). |
|
Getter of the current column number.
Definition at line 585 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. |
|
Returns the address of the current character pointer.
Definition at line 937 of file cr-input.c. References CR_BAD_PARAM_ERROR, cr_input_get_byte_addr(), CR_OK, CR_START_OF_INPUT_ERROR, and PRIVATE. Referenced by cr_tknzr_get_cur_byte_addr(). |
|
Getter of the next byte index. It actually returns the index of the next byte to be read.
Definition at line 1060 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. |
|
Gets the position of the "current byte index" which is basically the position of the last returned byte in the input stream.
Definition at line 1034 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. Referenced by cr_tknzr_get_cur_pos(). |
|
Gets the end of file flag.
Definition at line 1117 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. Referenced by cr_tknzr_get_next_token(). |
|
Gets the end of line flag of the current input.
Definition at line 1156 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. |
|
Getter of the curren line number.
Definition at line 546 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. |
|
Retunrs the number of bytes left in the input stream before the end.
Definition at line 396 of file cr-input.c. References PRIVATE. Referenced by cr_input_peek_char(), cr_input_read_char(), and cr_tknzr_get_nb_bytes_left(). |
|
Increments the current column number.
Definition at line 621 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. |
|
Increments the current line number.
Definition at line 603 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. |
|
Creates a new input stream from a memory buffer.
Definition at line 140 of file cr-input.c. References cr_enc_handler_convert_input(), cr_enc_handler_get_instance(), cr_input_destroy(), CR_OK, CR_UTF_8, CREncHandler, CRStatus, and PRIVATE. Referenced by cr_input_new_from_uri(), cr_parser_new_from_buf(), and cr_tknzr_new_from_buf(). |
|
Creates a new input stream from a file.
Definition at line 208 of file cr-input.c. References CR_ERROR, CR_INPUT_MEM_CHUNK_SIZE, cr_input_new_from_buf(), CR_OK, cr_utils_trace_debug, and CRStatus. Referenced by cr_tknzr_new_from_uri(). |
|
Gets a byte from the input stream. starting from the current position in the input stream. Unlike cr_input_peek_next_byte() this method does not update the state of the current input stream. Subsequent calls to cr_input_peek_byte with the same arguments will return the same byte.
Definition at line 831 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_END_OF_INPUT_ERROR, CR_OK, CR_SEEK_BEGIN, CR_SEEK_CUR, CR_SEEK_END, and PRIVATE. Referenced by cr_input_peek_byte2(), and cr_tknzr_peek_byte(). |
|
Same as cr_input_peek_byte() but with a simplified interface.
Definition at line 885 of file cr-input.c. References CR_END_OF_INPUT_ERROR, CR_ERROR, cr_input_peek_byte(), CR_SEEK_CUR, CRStatus, and PRIVATE. Referenced by cr_tknzr_peek_byte2(). |
|
Same as cr_input_read_char() but does not update the internal state of the input stream. The next call to cr_input_peek_char() or cr_input_read_char() will thus return the same character as the current one.
Definition at line 777 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_END_OF_INPUT_ERROR, cr_input_get_nb_bytes_left(), CR_OK, cr_utils_read_char_from_utf8_buf(), CRStatus, and PRIVATE. Referenced by cr_input_consume_char(), cr_input_consume_white_spaces(), cr_tknzr_get_next_token(), and cr_tknzr_peek_char(). |
|
Returns the next byte of the input. Update the state of the input so that the next invocation of this method returns the next coming byte.
Definition at line 425 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_END_OF_INPUT_ERROR, CR_OK, and PRIVATE. Referenced by cr_tknzr_read_byte(). |
|
Reads an unicode character from the current instance of CRInput.
Definition at line 466 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_END_OF_INPUT_ERROR, cr_input_get_nb_bytes_left(), CR_OK, cr_utils_read_char_from_utf8_buf(), CRStatus, and PRIVATE. Referenced by cr_input_consume_char(), cr_input_consume_white_spaces(), and cr_tknzr_read_char(). |
|
Increments the reference count of the current instance of CRInput.
Definition at line 331 of file cr-input.c. References PRIVATE. Referenced by cr_tknzr_set_input(). |
|
Sets the "current byte index" of the current instance of CRInput. Next call to cr_input_get_byte() will return the byte next after the new "current byte index".
Definition at line 973 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, CR_OUT_OF_BOUNDS_ERROR, CR_SEEK_BEGIN, CR_SEEK_CUR, CR_SEEK_END, and PRIVATE. Referenced by cr_tknzr_seek_index(). |
|
Setter of the current column number.
Definition at line 566 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. Referenced by cr_input_set_cur_pos(). |
|
Setter of the next byte index. It sets the index of the next byte to be read.
Definition at line 1081 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. Referenced by cr_input_set_cur_pos(). |
|
Sets the current position in the input stream.
Definition at line 1176 of file cr-input.c. References CR_BAD_PARAM_ERROR, cr_input_set_column_num(), cr_input_set_cur_index(), cr_input_set_end_of_file(), cr_input_set_end_of_line(), cr_input_set_line_num(), CR_OK, and PRIVATE. Referenced by cr_tknzr_consume_chars(), cr_tknzr_get_cur_byte_addr(), cr_tknzr_get_cur_pos(), cr_tknzr_get_nb_bytes_left(), cr_tknzr_peek_byte(), cr_tknzr_peek_char(), cr_tknzr_read_char(), cr_tknzr_seek_index(), and cr_tknzr_set_cur_pos(). |
|
Sets the end of file flag.
Definition at line 1099 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. Referenced by cr_input_set_cur_pos(). |
|
Sets the end of line flag.
Definition at line 1137 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. Referenced by cr_input_set_cur_pos(). |
|
Setter of the current line number.
Definition at line 527 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE. Referenced by cr_input_set_cur_pos(). |
|
Decrements the reference count of this instance of CRInput. If the reference count goes down to zero, this instance is destroyed.
Definition at line 347 of file cr-input.c. References cr_input_destroy(), and PRIVATE. Referenced by cr_tknzr_destroy(), and cr_tknzr_set_input(). |