Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef GWENHYWFAR_STRINGLIST_H
00029 #define GWENHYWFAR_STRINGLIST_H
00030
00031 #include <gwenhywfar/gwenhywfarapi.h>
00032
00033
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037
00038
00039 typedef enum {
00041 GWEN_StringList_SortModeNoCase=0,
00043 GWEN_StringList_SortModeCase,
00046 GWEN_StringList_SortModeInt
00047 } GWEN_STRINGLIST_SORT_MODE;
00048
00049
00050 typedef struct GWEN_STRINGLISTENTRYSTRUCT GWEN_STRINGLISTENTRY;
00051
00052
00053 typedef struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST;
00054
00055
00056 GWENHYWFAR_API GWEN_STRINGLIST *GWEN_StringList_new(void);
00057
00058 GWENHYWFAR_API GWEN_STRINGLIST *GWEN_StringList_fromTabString(const char *s, int checkDup);
00059
00060 GWENHYWFAR_API void GWEN_StringList_free(GWEN_STRINGLIST *sl);
00061 GWENHYWFAR_API
00062 GWEN_STRINGLIST *GWEN_StringList_dup(const GWEN_STRINGLIST *sl);
00063 GWENHYWFAR_API void GWEN_StringList_Clear(GWEN_STRINGLIST *sl);
00064
00066 GWENHYWFAR_API
00067 unsigned int GWEN_StringList_Count(const GWEN_STRINGLIST *sl);
00068
00069 GWENHYWFAR_API GWEN_STRINGLISTENTRY *GWEN_StringListEntry_new(const char *s,
00070 int take);
00071 GWENHYWFAR_API void GWEN_StringListEntry_ReplaceString(GWEN_STRINGLISTENTRY *e,
00072 const char *s,
00073 int take);
00074 GWENHYWFAR_API void GWEN_StringListEntry_free(GWEN_STRINGLISTENTRY *sl);
00075 GWENHYWFAR_API void GWEN_StringList_AppendEntry(GWEN_STRINGLIST *sl,
00076 GWEN_STRINGLISTENTRY *se);
00077 GWENHYWFAR_API void GWEN_StringList_RemoveEntry(GWEN_STRINGLIST *sl,
00078 GWEN_STRINGLISTENTRY *se);
00079 GWENHYWFAR_API
00080 GWEN_STRINGLISTENTRY *GWEN_StringList_FirstEntry(const GWEN_STRINGLIST *sl);
00081 GWENHYWFAR_API
00082 GWEN_STRINGLISTENTRY *GWEN_StringListEntry_Next(const GWEN_STRINGLISTENTRY *se);
00083
00084 GWENHYWFAR_API
00085 const char *GWEN_StringListEntry_Data(const GWEN_STRINGLISTENTRY *se);
00086
00087 GWENHYWFAR_API
00088 void GWEN_StringListEntry_SetData(GWEN_STRINGLISTENTRY *se,
00089 const char *s);
00090
00097 GWENHYWFAR_API
00098 void GWEN_StringList_SetSenseCase(GWEN_STRINGLIST *sl, int i);
00099
00107 GWENHYWFAR_API
00108 void GWEN_StringList_SetIgnoreRefCount(GWEN_STRINGLIST *sl, int i);
00109
00117 GWENHYWFAR_API int GWEN_StringList_AppendString(GWEN_STRINGLIST *sl,
00118 const char *s,
00119 int take,
00120 int checkDouble);
00121
00129 GWENHYWFAR_API int GWEN_StringList_InsertString(GWEN_STRINGLIST *sl,
00130 const char *s,
00131 int take,
00132 int checkDouble);
00133
00138 GWENHYWFAR_API int GWEN_StringList_RemoveString(GWEN_STRINGLIST *sl,
00139 const char *s);
00140
00146 GWENHYWFAR_API int GWEN_StringList_HasString(const GWEN_STRINGLIST *sl,
00147 const char *s);
00148
00154 GWENHYWFAR_API int GWEN_StringList_GetStringPos(const GWEN_STRINGLIST *sl, const char *s);
00155
00156
00168 GWENHYWFAR_API
00169 void *GWEN_StringList_ForEach(const GWEN_STRINGLIST *l,
00170 void *(*func)(const char *s, void *u),
00171 void *user_data);
00172
00174 GWENHYWFAR_API
00175 const char *GWEN_StringList_FirstString(const GWEN_STRINGLIST *l);
00176
00177 GWENHYWFAR_API
00178 const char *GWEN_StringList_StringAt(const GWEN_STRINGLIST *l, int idx);
00179
00180
00192 GWENHYWFAR_API
00193 void GWEN_StringList_Sort(GWEN_STRINGLIST *l,
00194 int ascending,
00195 GWEN_STRINGLIST_SORT_MODE sortMode);
00196
00197 GWENHYWFAR_API
00198 GWEN_STRINGLIST *GWEN_StringList_fromString(const char *str, const char *delimiters, int checkDouble);
00199
00200 #ifdef __cplusplus
00201 }
00202 #endif
00203
00204 #endif
00205
00206