stringlist.h
Go to the documentation of this file.
/***************************************************************************
$RCSfile$
-------------------
cvs : $Id$
begin : Thu Apr 03 2003
copyright : (C) 2003 by Martin Preuss
email : martin@libchipcard.de
***************************************************************************
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; if not, write to the Free Software *
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
* MA 02111-1307 USA *
* *
***************************************************************************/
#ifndef GWENHYWFAR_STRINGLIST_H
#define GWENHYWFAR_STRINGLIST_H
#include <gwenhywfar/gwenhywfarapi.h>
#include <gwenhywfar/buffer.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
GWEN_StringList_SortModeNoCase=0,
GWEN_StringList_SortModeCase,
GWEN_StringList_SortModeInt
}
GWEN_STRINGLIST_SORT_MODE;
typedef struct GWEN_STRINGLISTENTRYSTRUCT GWEN_STRINGLISTENTRY;
typedef struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST;
GWENHYWFAR_API GWEN_STRINGLIST *GWEN_StringList_new(void);
GWENHYWFAR_API GWEN_STRINGLIST *GWEN_StringList_fromTabString(const char *s, int checkDup);
GWENHYWFAR_API int GWEN_StringList_toBuffer(const GWEN_STRINGLIST *sl, const char *delimiter, GWEN_BUFFER *outBuffer);
GWENHYWFAR_API void GWEN_StringList_free(GWEN_STRINGLIST *sl);
GWENHYWFAR_API
GWEN_STRINGLIST *GWEN_StringList_dup(const GWEN_STRINGLIST *sl);
GWENHYWFAR_API void GWEN_StringList_Clear(GWEN_STRINGLIST *sl);
GWENHYWFAR_API
unsigned int GWEN_StringList_Count(const GWEN_STRINGLIST *sl);
GWENHYWFAR_API GWEN_STRINGLISTENTRY *GWEN_StringListEntry_new(const char *s,
int take);
GWENHYWFAR_API void GWEN_StringListEntry_ReplaceString(GWEN_STRINGLISTENTRY *e,
const char *s,
int take);
GWENHYWFAR_API void GWEN_StringListEntry_free(GWEN_STRINGLISTENTRY *sl);
GWENHYWFAR_API void GWEN_StringList_AppendEntry(GWEN_STRINGLIST *sl,
GWEN_STRINGLISTENTRY *se);
GWENHYWFAR_API void GWEN_StringList_RemoveEntry(GWEN_STRINGLIST *sl,
GWEN_STRINGLISTENTRY *se);
GWENHYWFAR_API
GWEN_STRINGLISTENTRY *GWEN_StringList_FirstEntry(const GWEN_STRINGLIST *sl);
GWENHYWFAR_API
GWEN_STRINGLISTENTRY *GWEN_StringListEntry_Next(const GWEN_STRINGLISTENTRY *se);
GWENHYWFAR_API
const char *GWEN_StringListEntry_Data(const GWEN_STRINGLISTENTRY *se);
GWENHYWFAR_API
void GWEN_StringListEntry_SetData(GWEN_STRINGLISTENTRY *se,
const char *s);
GWENHYWFAR_API
void GWEN_StringList_SetSenseCase(GWEN_STRINGLIST *sl, int i);
GWENHYWFAR_API
void GWEN_StringList_SetIgnoreRefCount(GWEN_STRINGLIST *sl, int i);
GWENHYWFAR_API int GWEN_StringList_AppendString(GWEN_STRINGLIST *sl,
const char *s,
int take,
int checkDouble);
GWENHYWFAR_API int GWEN_StringList_InsertString(GWEN_STRINGLIST *sl,
const char *s,
int take,
int checkDouble);
GWENHYWFAR_API int GWEN_StringList_RemoveString(GWEN_STRINGLIST *sl,
const char *s);
GWENHYWFAR_API void GWEN_StringList_RemoveFirstString(GWEN_STRINGLIST *sl);
GWENHYWFAR_API void GWEN_StringList_AppendStringList(GWEN_STRINGLIST *slDest,
const GWEN_STRINGLIST *slSource,
int checkDouble);
GWENHYWFAR_API int GWEN_StringList_HasString(const GWEN_STRINGLIST *sl,
const char *s);
GWENHYWFAR_API int GWEN_StringList_GetStringPos(const GWEN_STRINGLIST *sl, const char *s);
GWENHYWFAR_API GWEN_STRINGLISTENTRY *GWEN_StringList_FindStringEntry(const GWEN_STRINGLIST *sl, const char *s);
GWENHYWFAR_API
void *GWEN_StringList_ForEach(const GWEN_STRINGLIST *l,
void *(*func)(const char *s, void *u),
void *user_data);
GWENHYWFAR_API
const char *GWEN_StringList_FirstString(const GWEN_STRINGLIST *l);
GWENHYWFAR_API
const char *GWEN_StringList_StringAt(const GWEN_STRINGLIST *l, int idx);
GWENHYWFAR_API
int GWEN_StringList_StringAsIntAt(const GWEN_STRINGLIST *l, int idx, int defaultValue);
GWENHYWFAR_API
void GWEN_StringList_Sort(GWEN_STRINGLIST *l,
int ascending,
GWEN_STRINGLIST_SORT_MODE sortMode);
GWENHYWFAR_API
GWEN_STRINGLIST *GWEN_StringList_fromString(const char *str, const char *delimiters, int checkDouble);
GWENHYWFAR_API
GWEN_STRINGLIST *GWEN_StringList_fromString2(const char *str, const char *delimiters, int checkDouble, uint32_t flags);
GWENHYWFAR_API
void GWEN_StringList_RemoveCommonFirstEntries(GWEN_STRINGLIST *sl1, GWEN_STRINGLIST *sl2);
#ifdef __cplusplus
}
#endif
#endif
buffer.h
GWEN_BUFFER
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
Definition buffer.h:38
gwenhywfarapi.h
GWENHYWFAR_API
#define GWENHYWFAR_API
Definition gwenhywfarapi.h:67
GWEN_STRINGLIST_SORT_MODE
GWEN_STRINGLIST_SORT_MODE
Definition stringlist.h:41
GWEN_StringList_SortModeCase
@ GWEN_StringList_SortModeCase
Definition stringlist.h:45
GWEN_StringList_SortModeInt
@ GWEN_StringList_SortModeInt
Definition stringlist.h:48
GWEN_StringList_SortModeNoCase
@ GWEN_StringList_SortModeNoCase
Definition stringlist.h:43
GWEN_StringList_AppendStringList
GWENHYWFAR_API void GWEN_StringList_AppendStringList(GWEN_STRINGLIST *slDest, const GWEN_STRINGLIST *slSource, int checkDouble)
GWEN_StringListEntry_Next
GWENHYWFAR_API GWEN_STRINGLISTENTRY * GWEN_StringListEntry_Next(const GWEN_STRINGLISTENTRY *se)
GWEN_StringList_AppendString
GWENHYWFAR_API int GWEN_StringList_AppendString(GWEN_STRINGLIST *sl, const char *s, int take, int checkDouble)
GWEN_StringList_free
GWENHYWFAR_API void GWEN_StringList_free(GWEN_STRINGLIST *sl)
GWEN_StringList_GetStringPos
GWENHYWFAR_API int GWEN_StringList_GetStringPos(const GWEN_STRINGLIST *sl, const char *s)
GWEN_StringList_dup
GWENHYWFAR_API GWEN_STRINGLIST * GWEN_StringList_dup(const GWEN_STRINGLIST *sl)
GWEN_StringListEntry_ReplaceString
GWENHYWFAR_API void GWEN_StringListEntry_ReplaceString(GWEN_STRINGLISTENTRY *e, const char *s, int take)
GWEN_StringList_new
GWENHYWFAR_API GWEN_STRINGLIST * GWEN_StringList_new(void)
GWEN_StringList_SetSenseCase
GWENHYWFAR_API void GWEN_StringList_SetSenseCase(GWEN_STRINGLIST *sl, int i)
GWEN_StringList_fromTabString
GWENHYWFAR_API GWEN_STRINGLIST * GWEN_StringList_fromTabString(const char *s, int checkDup)
GWEN_STRINGLISTENTRY
struct GWEN_STRINGLISTENTRYSTRUCT GWEN_STRINGLISTENTRY
Definition stringlist.h:53
GWEN_StringList_RemoveFirstString
GWENHYWFAR_API void GWEN_StringList_RemoveFirstString(GWEN_STRINGLIST *sl)
GWEN_StringList_FirstString
GWENHYWFAR_API const char * GWEN_StringList_FirstString(const GWEN_STRINGLIST *l)
GWEN_StringList_RemoveString
GWENHYWFAR_API int GWEN_StringList_RemoveString(GWEN_STRINGLIST *sl, const char *s)
GWEN_StringList_Count
GWENHYWFAR_API unsigned int GWEN_StringList_Count(const GWEN_STRINGLIST *sl)
GWEN_StringList_AppendEntry
GWENHYWFAR_API void GWEN_StringList_AppendEntry(GWEN_STRINGLIST *sl, GWEN_STRINGLISTENTRY *se)
GWEN_StringList_StringAt
GWENHYWFAR_API const char * GWEN_StringList_StringAt(const GWEN_STRINGLIST *l, int idx)
GWEN_StringList_RemoveCommonFirstEntries
GWENHYWFAR_API void GWEN_StringList_RemoveCommonFirstEntries(GWEN_STRINGLIST *sl1, GWEN_STRINGLIST *sl2)
GWEN_StringList_Sort
GWENHYWFAR_API void GWEN_StringList_Sort(GWEN_STRINGLIST *l, int ascending, GWEN_STRINGLIST_SORT_MODE sortMode)
GWEN_StringList_StringAsIntAt
GWENHYWFAR_API int GWEN_StringList_StringAsIntAt(const GWEN_STRINGLIST *l, int idx, int defaultValue)
GWEN_StringList_fromString
GWENHYWFAR_API GWEN_STRINGLIST * GWEN_StringList_fromString(const char *str, const char *delimiters, int checkDouble)
GWEN_StringListEntry_free
GWENHYWFAR_API void GWEN_StringListEntry_free(GWEN_STRINGLISTENTRY *sl)
GWEN_StringList_toBuffer
GWENHYWFAR_API int GWEN_StringList_toBuffer(const GWEN_STRINGLIST *sl, const char *delimiter, GWEN_BUFFER *outBuffer)
GWEN_StringList_FindStringEntry
GWENHYWFAR_API GWEN_STRINGLISTENTRY * GWEN_StringList_FindStringEntry(const GWEN_STRINGLIST *sl, const char *s)
GWEN_StringList_fromString2
GWENHYWFAR_API GWEN_STRINGLIST * GWEN_StringList_fromString2(const char *str, const char *delimiters, int checkDouble, uint32_t flags)
GWEN_StringList_Clear
GWENHYWFAR_API void GWEN_StringList_Clear(GWEN_STRINGLIST *sl)
GWEN_StringListEntry_SetData
GWENHYWFAR_API void GWEN_StringListEntry_SetData(GWEN_STRINGLISTENTRY *se, const char *s)
GWEN_STRINGLIST
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
Definition stringlist.h:56
GWEN_StringList_ForEach
GWENHYWFAR_API void * GWEN_StringList_ForEach(const GWEN_STRINGLIST *l, void *(*func)(const char *s, void *u), void *user_data)
GWEN_StringList_FirstEntry
GWENHYWFAR_API GWEN_STRINGLISTENTRY * GWEN_StringList_FirstEntry(const GWEN_STRINGLIST *sl)
GWEN_StringList_HasString
GWENHYWFAR_API int GWEN_StringList_HasString(const GWEN_STRINGLIST *sl, const char *s)
GWEN_StringList_RemoveEntry
GWENHYWFAR_API void GWEN_StringList_RemoveEntry(GWEN_STRINGLIST *sl, GWEN_STRINGLISTENTRY *se)
GWEN_StringList_InsertString
GWENHYWFAR_API int GWEN_StringList_InsertString(GWEN_STRINGLIST *sl, const char *s, int take, int checkDouble)
GWEN_StringList_SetIgnoreRefCount
GWENHYWFAR_API void GWEN_StringList_SetIgnoreRefCount(GWEN_STRINGLIST *sl, int i)
GWEN_StringListEntry_new
GWENHYWFAR_API GWEN_STRINGLISTENTRY * GWEN_StringListEntry_new(const char *s, int take)
GWEN_StringListEntry_Data
GWENHYWFAR_API const char * GWEN_StringListEntry_Data(const GWEN_STRINGLISTENTRY *se)