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