1 /* libcroco - Library for parsing and applying CSS
2 * Copyright (C) 2006-2019 Free Software Foundation, Inc.
3 *
4 * This file is not part of the GNU gettext program, but is used with
5 * GNU gettext.
6 *
7 * The original copyright notice is as follows:
8 */
9
10 /*
11 * This file is part of The Croco Library
12 *
13 * Copyright (C) 2003-2004 Dodji Seketeli. All Rights Reserved.
14 *
15 * This program is free software; you can redistribute it and/or
16 * modify it under the terms of version 2.1 of the GNU Lesser General Public
17 * License as published by the Free Software Foundation.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU Lesser General Public License
25 * along with this program; if not, write to the Free Software
26 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
27 * USA
28 *
29 * Author: Dodji Seketeli
30 */
31
32 #ifndef __CR_PROP_LIST_H__
33 #define __CR_PROP_LIST_H__
34
35 #include "cr-utils.h"
36 #include "cr-declaration.h"
37 #include "cr-string.h"
38
39 G_BEGIN_DECLS
40
41 typedef struct _CRPropList CRPropList ;
42 typedef struct _CRPropListPriv CRPropListPriv ;
43
44 struct _CRPropList
45 {
46 CRPropListPriv * priv;
47 } ;
48
49 CRPropList * cr_prop_list_append (CRPropList *a_this,
50 CRPropList *a_to_append) ;
51
52 CRPropList * cr_prop_list_append2 (CRPropList *a_this,
53 CRString *a_prop,
54 CRDeclaration *a_decl) ;
55
56 CRPropList * cr_prop_list_prepend (CRPropList *a_this,
57 CRPropList *a_to_append) ;
58
59 CRPropList * cr_prop_list_prepend2 (CRPropList *a_this,
60 CRString *a_prop,
61 CRDeclaration *a_decl) ;
62
63 enum CRStatus cr_prop_list_set_prop (CRPropList *a_this,
64 CRString *a_prop) ;
65
66 enum CRStatus cr_prop_list_get_prop (CRPropList const *a_this,
67 CRString **a_prop) ;
68
69 enum CRStatus cr_prop_list_lookup_prop (CRPropList *a_this,
70 CRString *a_prop,
71 CRPropList**a_pair) ;
72
73 CRPropList * cr_prop_list_get_next (CRPropList *a_this) ;
74
75 CRPropList * cr_prop_list_get_prev (CRPropList *a_this) ;
76
77 enum CRStatus cr_prop_list_set_decl (CRPropList *a_this,
78 CRDeclaration *a_decl);
79
80 enum CRStatus cr_prop_list_get_decl (CRPropList const *a_this,
81 CRDeclaration **a_decl) ;
82
83 CRPropList * cr_prop_list_unlink (CRPropList *a_this,
84 CRPropList *a_pair) ;
85
86 void cr_prop_list_destroy (CRPropList *a_this) ;
87
88 G_END_DECLS
89
90 #endif /*__CR_PROP_LIST_H__*/