Imported Upstream version 0.18.1.1
[platform/upstream/gettext.git] / gettext-tools / gnulib-lib / libcroco / cr-parsing-location.h
1 /* -*- Mode: C; indent-tabs-mode: ni; 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 3 of the GNU 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 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 the COPYRIGHTS file for copyright information.
22  */
23
24 #ifndef __CR_PARSING_LOCATION_H__
25 #define __CR_PARSING_LOCATION_H__
26
27 #include "cr-utils.h"
28
29 G_BEGIN_DECLS
30
31 /**
32  *@file
33  *The declaration of the CRParsingLocation
34  *object. This object keeps track of line/column/byte offset/
35  *at which the parsing of a given CSS construction appears.
36  */
37
38 typedef struct _CRParsingLocation CRParsingLocation;
39 struct _CRParsingLocation {
40         guint line ;
41         guint column ;
42         guint byte_offset ;
43 } ;
44
45
46 enum CRParsingLocationSerialisationMask {
47         DUMP_LINE = 1,
48         DUMP_COLUMN = 1 << 1,
49         DUMP_BYTE_OFFSET = 1 << 2
50 } ;
51
52 CRParsingLocation * cr_parsing_location_new (void) ;
53
54 enum CRStatus cr_parsing_location_init (CRParsingLocation *a_this) ;
55
56 enum CRStatus cr_parsing_location_copy (CRParsingLocation *a_to,
57                                         CRParsingLocation *a_from) ;
58
59 gchar * cr_parsing_location_to_string (CRParsingLocation *a_this,
60                                        enum CRParsingLocationSerialisationMask a_mask) ;
61 void cr_parsing_location_dump (CRParsingLocation *a_this,
62                                enum CRParsingLocationSerialisationMask a_mask,
63                                FILE *a_fp) ;
64
65 void cr_parsing_location_destroy (CRParsingLocation *a_this) ;
66
67
68
69 G_END_DECLS
70 #endif