2008-04-16 Johannes Schmid <jhs@gnome.org>
[anjuta-git-plugin.git] / tagmanager / strlist.h
blob9f4e224b1355650a03d812768624d1c22e07eed8
1 /*
2 * $Id$
4 * Copyright (c) 1999-2002, Darren Hiebert
6 * This source code is released for free distribution under the terms of the
7 * GNU General Public License.
9 * Defines external interface to resizable string lists.
11 #ifndef _STRLIST_H
12 #define _STRLIST_H
15 * INCLUDE FILES
17 #include "general.h" /* must always come first */
19 #include "vstring.h"
22 * DATA DECLARATIONS
24 typedef struct sStringList {
25 unsigned int max;
26 unsigned int count;
27 vString **list;
28 } stringList;
31 * FUNCTION PROTOTYPES
33 extern stringList *stringListNew (void);
34 extern void stringListAdd (stringList *const current, vString *string);
35 extern void stringListRemoveLast (stringList *const current);
36 extern void stringListCombine (stringList *const current, stringList *const from);
37 extern stringList* stringListNewFromArgv (const char* const* const list);
38 extern stringList* stringListNewFromFile (const char* const fileName);
39 extern void stringListClear (stringList *const current);
40 extern unsigned int stringListCount (const stringList *const current);
41 extern vString* stringListItem (const stringList *const current, const unsigned int indx);
42 extern vString* stringListLast (const stringList *const current);
43 extern void stringListDelete (stringList *const current);
44 extern boolean stringListHasInsensitive (const stringList *const current, const char *const string);
45 extern boolean stringListHas (const stringList *const current, const char *const string);
46 extern boolean stringListHasTest (const stringList *const current, boolean (*test)(const char *s));
47 extern boolean stringListRemoveExtension (stringList* const current, const char* const extension);
48 extern boolean stringListExtensionMatched (const stringList* const list, const char* const extension);
49 extern boolean stringListFileMatched (const stringList* const list, const char* const str);
50 extern void stringListPrint (const stringList *const current);
52 #endif /* _STRLIST_H */
54 /* vi:set tabstop=4 shiftwidth=4: */