#include <stdio.h>
#include <string.h>
#include "cr-term.h"
#include "cr-num.h"
#include "cr-parser.h"
Go to the source code of this file.
Functions | |
CRTerm * | cr_term_new (void) |
Instanciate a CRTerm. | |
CRTerm * | cr_term_parse_expression_from_buf (const guchar *a_buf, enum CREncoding a_encoding) |
Parses an expresion as defined by the css2 spec and builds the expression as a list of terms. | |
enum CRStatus | cr_term_set_number (CRTerm *a_this, CRNum *a_num) |
enum CRStatus | cr_term_set_function (CRTerm *a_this, CRString *a_func_name, CRTerm *a_func_param) |
enum CRStatus | cr_term_set_string (CRTerm *a_this, CRString *a_str) |
enum CRStatus | cr_term_set_ident (CRTerm *a_this, CRString *a_str) |
enum CRStatus | cr_term_set_uri (CRTerm *a_this, CRString *a_str) |
enum CRStatus | cr_term_set_rgb (CRTerm *a_this, CRRgb *a_rgb) |
enum CRStatus | cr_term_set_hash (CRTerm *a_this, CRString *a_str) |
CRTerm * | cr_term_append_term (CRTerm *a_this, CRTerm *a_new_term) |
Appends a new term to the current list of CRTerm. | |
CRTerm * | cr_term_prepend_term (CRTerm *a_this, CRTerm *a_new_term) |
Prepends a term to the list of terms represented by a_this. | |
guchar * | cr_term_to_string (CRTerm const *a_this) |
Serializes the expression represented by the chained instances of CRterm. | |
guchar * | cr_term_one_to_string (CRTerm const *a_this) |
void | cr_term_dump (CRTerm const *a_this, FILE *a_fp) |
Dumps the expression (a list of terms connected by operators) to a file. | |
int | cr_term_nr_values (CRTerm const *a_this) |
Return the number of terms in the expression. | |
CRTerm * | cr_term_get_from_list (CRTerm *a_this, int itemnr) |
Use an index to get a CRTerm from the expression. | |
void | cr_term_ref (CRTerm *a_this) |
Increments the reference counter of the current instance of CRTerm. | |
gboolean | cr_term_unref (CRTerm *a_this) |
Decrements the ref count of the current instance of CRTerm. | |
void | cr_term_destroy (CRTerm *a_this) |
The destructor of the the CRTerm class. |
Definition in file cr-term.c.
Appends a new term to the current list of CRTerm.
a_this | the "this pointer" of the current instance of CRTerm . | |
a_new_term | the term to append. |
Definition at line 235 of file cr-term.c.
References _CRTerm::next, and _CRTerm::prev.
Referenced by cr_parser_parse_declaration(), cr_parser_parse_expr(), and cr_parser_parse_term().
void cr_term_destroy | ( | CRTerm * | a_this | ) |
The destructor of the the CRTerm class.
a_this | the "this pointer" of the current instance of CRTerm. |
Definition at line 776 of file cr-term.c.
References cr_term_destroy(), and _CRTerm::next.
Referenced by cr_declaration_destroy(), cr_declaration_parse_from_buf(), cr_declaration_parse_list_from_buf(), cr_parser_parse_declaration(), cr_parser_parse_expr(), cr_parser_parse_font_face(), cr_parser_parse_page(), cr_parser_parse_term(), cr_rgb_parse_from_buf(), cr_term_destroy(), cr_term_parse_expression_from_buf(), and cr_term_unref().
void cr_term_dump | ( | CRTerm const * | a_this, | |
FILE * | a_fp | |||
) |
Dumps the expression (a list of terms connected by operators) to a file.
TODO: finish the dump. The dump of some type of terms have not yet been implemented.
a_this | the current instance of CRTerm. | |
a_fp | the destination file pointer. |
Definition at line 680 of file cr-term.c.
References cr_term_to_string().
Use an index to get a CRTerm from the expression.
a_this | the current instance of CRTerm. | |
itemnr | the index into the expression. |
Definition at line 720 of file cr-term.c.
References _CRTerm::next.
CRTerm* cr_term_new | ( | void | ) |
Instanciate a CRTerm.
Definition at line 85 of file cr-term.c.
References cr_utils_trace_info.
Referenced by cr_parser_parse_term().
int cr_term_nr_values | ( | CRTerm const * | a_this | ) |
Return the number of terms in the expression.
a_this | the current instance of CRTerm. |
Definition at line 700 of file cr-term.c.
References _CRTerm::next.
guchar* cr_term_one_to_string | ( | CRTerm const * | a_this | ) |
Definition at line 476 of file cr-term.c.
References COMMA, _CRTerm::content, cr_num_to_string(), cr_rgb_to_string(), cr_term_to_string(), DIVIDE, _CRTerm::ext_content, _CRTerm::func_param, MINUS_UOP, NO_OP, _CRTerm::num, PLUS_UOP, _CRTerm::prev, _CRTerm::rgb, _CRTerm::str, TERM_FUNCTION, TERM_HASH, TERM_IDENT, TERM_NUMBER, TERM_RGB, TERM_STRING, TERM_UNICODERANGE, TERM_URI, _CRTerm::the_operator, _CRTerm::type, and _CRTerm::unary_op.
CRTerm* cr_term_parse_expression_from_buf | ( | const guchar * | a_buf, | |
enum CREncoding | a_encoding | |||
) |
Parses an expresion as defined by the css2 spec and builds the expression as a list of terms.
a_buf | the buffer to parse. |
Definition at line 106 of file cr-term.c.
References CR_OK, cr_parser_destroy(), cr_parser_new_from_buf(), cr_parser_parse_expr(), cr_parser_try_to_skip_spaces_and_comments(), and cr_term_destroy().
Prepends a term to the list of terms represented by a_this.
a_this | the "this pointer" of the current instance of CRTerm . | |
a_new_term | the term to prepend. |
Definition at line 261 of file cr-term.c.
References _CRTerm::next, and _CRTerm::prev.
void cr_term_ref | ( | CRTerm * | a_this | ) |
Increments the reference counter of the current instance of CRTerm.
*
a_this | the current instance of CRTerm. |
Definition at line 739 of file cr-term.c.
References _CRTerm::ref_count.
Referenced by cr_declaration_new(), cr_parser_parse_font_face(), cr_parser_parse_page(), and cr_parser_parse_ruleset().
enum CRStatus cr_term_set_function | ( | CRTerm * | a_this, | |
CRString * | a_func_name, | |||
CRTerm * | a_func_param | |||
) |
Definition at line 153 of file cr-term.c.
References _CRTerm::content, CR_BAD_PARAM_ERROR, CR_OK, _CRTerm::ext_content, _CRTerm::func_param, _CRTerm::str, TERM_FUNCTION, and _CRTerm::type.
Referenced by cr_parser_parse_term().
Definition at line 215 of file cr-term.c.
References _CRTerm::content, CR_BAD_PARAM_ERROR, CR_OK, _CRTerm::str, TERM_HASH, and _CRTerm::type.
Referenced by cr_parser_parse_term().
Definition at line 179 of file cr-term.c.
References _CRTerm::content, CR_BAD_PARAM_ERROR, CR_OK, _CRTerm::str, TERM_IDENT, and _CRTerm::type.
Referenced by cr_parser_parse_term().
Definition at line 141 of file cr-term.c.
References _CRTerm::content, CR_BAD_PARAM_ERROR, CR_OK, _CRTerm::num, TERM_NUMBER, and _CRTerm::type.
Referenced by cr_parser_parse_term().
Definition at line 203 of file cr-term.c.
References _CRTerm::content, CR_BAD_PARAM_ERROR, CR_OK, _CRTerm::rgb, TERM_RGB, and _CRTerm::type.
Referenced by cr_parser_parse_term().
Definition at line 167 of file cr-term.c.
References _CRTerm::content, CR_BAD_PARAM_ERROR, CR_OK, _CRTerm::str, TERM_STRING, and _CRTerm::type.
Referenced by cr_parser_parse_term().
Definition at line 191 of file cr-term.c.
References _CRTerm::content, CR_BAD_PARAM_ERROR, CR_OK, _CRTerm::str, TERM_URI, and _CRTerm::type.
Referenced by cr_parser_parse_term().
guchar* cr_term_to_string | ( | CRTerm const * | a_this | ) |
Serializes the expression represented by the chained instances of CRterm.
a_this | the current instance of CRTerm |
Definition at line 279 of file cr-term.c.
References COMMA, _CRTerm::content, cr_num_to_string(), cr_rgb_to_string(), cr_term_to_string(), DIVIDE, _CRTerm::ext_content, _CRTerm::func_param, MINUS_UOP, _CRTerm::next, NO_OP, _CRTerm::num, PLUS_UOP, _CRTerm::prev, _CRTerm::rgb, _CRTerm::str, TERM_FUNCTION, TERM_HASH, TERM_IDENT, TERM_NUMBER, TERM_RGB, TERM_STRING, TERM_UNICODERANGE, TERM_URI, _CRTerm::the_operator, _CRTerm::type, and _CRTerm::unary_op.
Referenced by cr_declaration_to_string(), cr_term_dump(), cr_term_one_to_string(), and cr_term_to_string().
gboolean cr_term_unref | ( | CRTerm * | a_this | ) |
Decrements the ref count of the current instance of CRTerm.
If the ref count reaches zero, the instance is destroyed.
a_this | the current instance of CRTerm. |
Definition at line 754 of file cr-term.c.
References cr_term_destroy(), and _CRTerm::ref_count.
Referenced by cr_parser_parse_font_face(), cr_parser_parse_page(), and cr_parser_parse_ruleset().