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 */ 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 29G_BEGIN_DECLS 30 31typedef struct _CRPropList CRPropList ; 32typedef struct _CRPropListPriv CRPropListPriv ; 33 34struct _CRPropList 35{ 36 CRPropListPriv * priv; 37} ; 38 39CRPropList * cr_prop_list_append (CRPropList *a_this, 40 CRPropList *a_to_append) ; 41 42CRPropList * cr_prop_list_append2 (CRPropList *a_this, 43 CRString *a_prop, 44 CRDeclaration *a_decl) ; 45 46CRPropList * cr_prop_list_prepend (CRPropList *a_this, 47 CRPropList *a_to_append) ; 48 49CRPropList * cr_prop_list_prepend2 (CRPropList *a_this, 50 CRString *a_prop, 51 CRDeclaration *a_decl) ; 52 53enum CRStatus cr_prop_list_set_prop (CRPropList *a_this, 54 CRString *a_prop) ; 55 56enum CRStatus cr_prop_list_get_prop (CRPropList *a_this, 57 CRString **a_prop) ; 58 59enum CRStatus cr_prop_list_lookup_prop (CRPropList *a_this, 60 CRString *a_prop, 61 CRPropList**a_pair) ; 62 63CRPropList * cr_prop_list_get_next (CRPropList *a_this) ; 64 65CRPropList * cr_prop_list_get_prev (CRPropList *a_this) ; 66 67enum CRStatus cr_prop_list_set_decl (CRPropList *a_this, 68 CRDeclaration *a_decl); 69 70enum CRStatus cr_prop_list_get_decl (CRPropList *a_this, 71 CRDeclaration **a_decl) ; 72 73CRPropList * cr_prop_list_unlink (CRPropList *a_this, 74 CRPropList *a_pair) ; 75 76void cr_prop_list_destroy (CRPropList *a_this) ; 77 78G_END_DECLS 79 80#endif /*__CR_PROP_LIST_H__*/ 81