Libcroco
cr-token.h
Go to the documentation of this file.
1 /* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */
2 
3 /*
4  * This file is part of The Croco Library
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of version 2.1 of the GNU Lesser General Public
8  * License as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
18  * USA
19  *
20  * Author: Dodji Seketeli
21  * See COPYRIGHTS file for copyright information.
22  */
23 
24 #ifndef __CR_TOKEN_H__
25 #define __CR_TOKEN_H__
26 
27 #include "cr-utils.h"
28 #include "cr-input.h"
29 #include "cr-num.h"
30 #include "cr-rgb.h"
31 #include "cr-string.h"
32 #include "cr-parsing-location.h"
33 
34 G_BEGIN_DECLS
35 
37 {
69  CBO_TK, /*opening curly bracket*/
70  CBC_TK, /*closing curly bracket*/
71  PO_TK, /*opening parenthesis*/
72  PC_TK, /*closing parenthesis*/
73  BO_TK, /*opening bracket*/
74  BC_TK, /*closing bracket*/
76 } ;
77 
79 {
80  NO_ET = 0,
94 } ;
95 
96 typedef struct _CRToken CRToken ;
97 
98 /**
99  *This class abstracts a css2 token.
100  */
101 struct _CRToken
102 {
106 
107  union
108  {
112  guint32 unichar ;
113  } u ;
114 
117 } ;
118 
119 CRToken* cr_token_new (void) ;
120 
121 enum CRStatus cr_token_set_s (CRToken *a_this) ;
122 
123 enum CRStatus cr_token_set_cdo (CRToken *a_this) ;
124 
125 enum CRStatus cr_token_set_cdc (CRToken *a_this) ;
126 
127 enum CRStatus cr_token_set_includes (CRToken *a_this) ;
128 
129 enum CRStatus cr_token_set_dashmatch (CRToken *a_this) ;
130 
131 enum CRStatus cr_token_set_comment (CRToken *a_this, CRString *a_str) ;
132 
133 enum CRStatus cr_token_set_string (CRToken *a_this, CRString *a_str) ;
134 
135 enum CRStatus cr_token_set_ident (CRToken *a_this, CRString * a_ident) ;
136 
137 enum CRStatus cr_token_set_hash (CRToken *a_this, CRString *a_hash) ;
138 
139 enum CRStatus cr_token_set_rgb (CRToken *a_this, CRRgb *a_rgb) ;
140 
142 
143 enum CRStatus cr_token_set_page_sym (CRToken *a_this) ;
144 
145 enum CRStatus cr_token_set_media_sym (CRToken *a_this) ;
146 
148 
150 
151 enum CRStatus cr_token_set_atkeyword (CRToken *a_this, CRString *a_atname) ;
152 
154 
155 enum CRStatus cr_token_set_ems (CRToken *a_this, CRNum *a_num) ;
156 
157 enum CRStatus cr_token_set_exs (CRToken *a_this, CRNum *a_num) ;
158 
159 enum CRStatus cr_token_set_length (CRToken *a_this, CRNum *a_num,
160  enum CRTokenExtraType a_et) ;
161 
162 enum CRStatus cr_token_set_angle (CRToken *a_this, CRNum *a_num,
163  enum CRTokenExtraType a_et) ;
164 
165 enum CRStatus cr_token_set_time (CRToken *a_this, CRNum *a_num,
166  enum CRTokenExtraType a_et) ;
167 
168 enum CRStatus cr_token_set_freq (CRToken *a_this, CRNum *a_num,
169  enum CRTokenExtraType a_et) ;
170 
171 enum CRStatus cr_token_set_dimen (CRToken *a_this, CRNum *a_num,
172  CRString *a_dim) ;
173 
174 enum CRStatus cr_token_set_percentage (CRToken *a_this, CRNum *a_num) ;
175 
176 enum CRStatus cr_token_set_number (CRToken *a_this, CRNum *a_num) ;
177 
178 enum CRStatus cr_token_set_uri (CRToken *a_this, CRString *a_uri) ;
179 
180 enum CRStatus cr_token_set_function (CRToken *a_this,
181  CRString *a_fun_name) ;
182 
183 enum CRStatus cr_token_set_bc (CRToken *a_this) ;
184 
185 enum CRStatus cr_token_set_bo (CRToken *a_this) ;
186 
187 enum CRStatus cr_token_set_po (CRToken *a_this) ;
188 
189 enum CRStatus cr_token_set_pc (CRToken *a_this) ;
190 
191 enum CRStatus cr_token_set_cbc (CRToken *a_this) ;
192 
193 enum CRStatus cr_token_set_cbo (CRToken *a_this) ;
194 
195 enum CRStatus cr_token_set_semicolon (CRToken *a_this) ;
196 
197 enum CRStatus cr_token_set_delim (CRToken *a_this, guint32 a_char) ;
198 
199 
200 /*
201  enum CRStatus
202  cr_token_set_unicoderange (CRToken *a_this,
203  CRUnicodeRange *a_range) ;
204 */
205 
206 void
207 cr_token_destroy (CRToken *a_this) ;
208 
209 
210 G_END_DECLS
211 
212 #endif /*__CR_TOKEN_H__*/
CRTokenExtraType
Definition: cr-token.h:78
enum CRStatus cr_token_set_cdc(CRToken *a_this)
Sets the type of the current token to CDC_TK (CDC as said by the css2 spec).
Definition: cr-token.c:196
typedefG_BEGIN_DECLS struct _CRRgb CRRgb
Definition: cr-rgb.h:34
enum CRTokenType type
Definition: cr-token.h:103
Definition: cr-token.h:71
enum CRStatus cr_token_set_cdo(CRToken *a_this)
Sets the type of the current instance of CRToken to 'CDO_TK' (CDO as said by the css2 spec)
Definition: cr-token.c:177
enum CRStatus cr_token_set_cbc(CRToken *a_this)
Definition: cr-token.c:565
enum CRStatus cr_token_set_pc(CRToken *a_this)
Definition: cr-token.c:589
CRNum * num
Definition: cr-token.h:111
enum CRStatus cr_token_set_delim(CRToken *a_this, guint32 a_char)
Definition: cr-token.c:528
CRString * str
Definition: cr-token.h:109
enum CRStatus cr_token_set_freq(CRToken *a_this, CRNum *a_num, enum CRTokenExtraType a_et)
Definition: cr-token.c:462
enum CRStatus cr_token_set_number(CRToken *a_this, CRNum *a_num)
Definition: cr-token.c:503
enum CRStatus cr_token_set_string(CRToken *a_this, CRString *a_str)
Definition: cr-token.c:257
The Croco library basic types definitions And global definitions.
enum CRStatus cr_token_set_s(CRToken *a_this)
Sets the type of curren instance of CRToken to 'S_TK' (S in the css2 spec)
Definition: cr-token.c:158
The declaration of the CRParsingLocation object.
enum CRStatus cr_token_set_atkeyword(CRToken *a_this, CRString *a_atname)
Definition: cr-token.c:377
Definition: cr-token.h:73
enum CRStatus cr_token_set_cbo(CRToken *a_this)
Definition: cr-token.c:553
enum CRStatus cr_token_set_charset_sym(CRToken *a_this)
Definition: cr-token.c:366
This class abstracts a css2 token.
Definition: cr-token.h:101
enum CRStatus cr_token_set_bo(CRToken *a_this)
Definition: cr-token.c:601
enum CRStatus cr_token_set_media_sym(CRToken *a_this)
Definition: cr-token.c:343
enum CRStatus cr_token_set_comment(CRToken *a_this, CRString *a_str)
Definition: cr-token.c:246
enum CRStatus cr_token_set_ident(CRToken *a_this, CRString *a_ident)
Definition: cr-token.c:271
enum CRStatus cr_token_set_page_sym(CRToken *a_this)
Definition: cr-token.c:331
Definition: cr-token.h:80
CRStatus
The status type returned by the methods of the croco library.
Definition: cr-utils.h:43
Declaration file of the CRString class.
enum CRStatus cr_token_set_uri(CRToken *a_this, CRString *a_uri)
Definition: cr-token.c:515
enum CRStatus cr_token_set_po(CRToken *a_this)
Definition: cr-token.c:577
union _CRToken::@4 u
enum CRStatus cr_token_set_dimen(CRToken *a_this, CRNum *a_num, CRString *a_dim)
Definition: cr-token.c:477
enum CRStatus cr_token_set_ems(CRToken *a_this, CRNum *a_num)
Definition: cr-token.c:397
CRString * dimen
Definition: cr-token.h:115
enum CRStatus cr_token_set_important_sym(CRToken *a_this)
Definition: cr-token.c:388
The declaration of the CRNum class.
void cr_token_destroy(CRToken *a_this)
The destructor of the CRToken class.
Definition: cr-token.c:629
Definition: cr-token.h:72
enum CRStatus cr_token_set_angle(CRToken *a_this, CRNum *a_num, enum CRTokenExtraType a_et)
Definition: cr-token.c:432
enum CRStatus cr_token_set_import_sym(CRToken *a_this)
Definition: cr-token.c:319
enum CRStatus cr_token_set_percentage(CRToken *a_this, CRNum *a_num)
Definition: cr-token.c:490
enum CRStatus cr_token_set_rgb(CRToken *a_this, CRRgb *a_rgb)
Definition: cr-token.c:307
typedefG_BEGIN_DECLS struct _CRString CRString
Definition: cr-string.h:37
guint32 unichar
Definition: cr-token.h:112
Definition: cr-token.h:74
CRParsingLocation location
Definition: cr-token.h:116
enum CRStatus cr_token_set_length(CRToken *a_this, CRNum *a_num, enum CRTokenExtraType a_et)
Definition: cr-token.c:417
Definition: cr-token.h:39
CRTokenType
Definition: cr-token.h:36
CRInputPos pos
Definition: cr-token.h:105
enum CRStatus cr_token_set_font_face_sym(CRToken *a_this)
Definition: cr-token.c:355
enum CRStatus cr_token_set_function(CRToken *a_this, CRString *a_fun_name)
Definition: cr-token.c:283
CRRgb * rgb
Definition: cr-token.h:110
An abstraction of a number (num) as defined in the css2 spec.
Definition: cr-num.h:90
Definition: cr-token.h:38
enum CRTokenExtraType extra_type
Definition: cr-token.h:104
enum CRStatus cr_token_set_bc(CRToken *a_this)
Definition: cr-token.c:613
enum CRStatus cr_token_set_exs(CRToken *a_this, CRNum *a_num)
Definition: cr-token.c:407
CRToken * cr_token_new(void)
Default constructor of the CRToken class.
Definition: cr-token.c:134
The libcroco basic input stream class declaration file.
enum CRStatus cr_token_set_includes(CRToken *a_this)
Sets the type of the current instance of CRToken to INCLUDES_TK (INCLUDES as said by the css2 spec).
Definition: cr-token.c:215
enum CRStatus cr_token_set_dashmatch(CRToken *a_this)
Sets the type of the current instance of CRToken to DASHMATCH_TK (DASHMATCH as said by the css2 spec)...
Definition: cr-token.c:234
enum CRStatus cr_token_set_hash(CRToken *a_this, CRString *a_hash)
Definition: cr-token.c:295
enum CRStatus cr_token_set_time(CRToken *a_this, CRNum *a_num, enum CRTokenExtraType a_et)
Definition: cr-token.c:447
enum CRStatus cr_token_set_semicolon(CRToken *a_this)
Definition: cr-token.c:541