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 2.1 of the GNU Lesser 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 Lesser 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 */
22 #ifndef __CR_PROP_LIST_H__
23 #define __CR_PROP_LIST_H__
25 #include "cr-utils.h"
26 #include "cr-declaration.h"
27 #include "cr-string.h"
29 G_BEGIN_DECLS
31 typedef struct _CRPropList CRPropList ;
32 typedef struct _CRPropListPriv CRPropListPriv ;
34 struct _CRPropList
35 {
36 CRPropListPriv * priv;
37 } ;
39 CRPropList * cr_prop_list_append (CRPropList *a_this,
40 CRPropList *a_to_append) ;
42 CRPropList * cr_prop_list_append2 (CRPropList *a_this,
43 CRString *a_prop,
44 CRDeclaration *a_decl) ;
46 CRPropList * cr_prop_list_prepend (CRPropList *a_this,
47 CRPropList *a_to_append) ;
49 CRPropList * cr_prop_list_prepend2 (CRPropList *a_this,
50 CRString *a_prop,
51 CRDeclaration *a_decl) ;
53 enum CRStatus cr_prop_list_set_prop (CRPropList *a_this,
54 CRString *a_prop) ;
56 enum CRStatus cr_prop_list_get_prop (CRPropList *a_this,
57 CRString **a_prop) ;
59 enum CRStatus cr_prop_list_lookup_prop (CRPropList *a_this,
60 CRString *a_prop,
61 CRPropList**a_pair) ;
63 CRPropList * cr_prop_list_get_next (CRPropList *a_this) ;
65 CRPropList * cr_prop_list_get_prev (CRPropList *a_this) ;
67 enum CRStatus cr_prop_list_set_decl (CRPropList *a_this,
68 CRDeclaration *a_decl);
70 enum CRStatus cr_prop_list_get_decl (CRPropList *a_this,
71 CRDeclaration **a_decl) ;
73 CRPropList * cr_prop_list_unlink (CRPropList *a_this,
74 CRPropList *a_pair) ;
76 void cr_prop_list_destroy (CRPropList *a_this) ;
78 G_END_DECLS
80 #endif /*__CR_PROP_LIST_H__*/