stringlist.h
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();
00057 GWENHYWFAR_API void GWEN_StringList_free(GWEN_STRINGLIST *sl);
00058 GWENHYWFAR_API
00059 GWEN_STRINGLIST *GWEN_StringList_dup(const GWEN_STRINGLIST *sl);
00060 GWENHYWFAR_API void GWEN_StringList_Clear(GWEN_STRINGLIST *sl);
00061
00063 GWENHYWFAR_API
00064 unsigned int GWEN_StringList_Count(const GWEN_STRINGLIST *sl);
00065
00066 GWENHYWFAR_API GWEN_STRINGLISTENTRY *GWEN_StringListEntry_new(const char *s,
00067 int take);
00068 GWENHYWFAR_API void GWEN_StringListEntry_ReplaceString(GWEN_STRINGLISTENTRY *e,
00069 const char *s,
00070 int take);
00071 GWENHYWFAR_API void GWEN_StringListEntry_free(GWEN_STRINGLISTENTRY *sl);
00072 GWENHYWFAR_API void GWEN_StringList_AppendEntry(GWEN_STRINGLIST *sl,
00073 GWEN_STRINGLISTENTRY *se);
00074 GWENHYWFAR_API void GWEN_StringList_RemoveEntry(GWEN_STRINGLIST *sl,
00075 GWEN_STRINGLISTENTRY *se);
00076 GWENHYWFAR_API
00077 GWEN_STRINGLISTENTRY *GWEN_StringList_FirstEntry(const GWEN_STRINGLIST *sl);
00078 GWENHYWFAR_API
00079 GWEN_STRINGLISTENTRY *GWEN_StringListEntry_Next(const GWEN_STRINGLISTENTRY *se);
00080
00081 GWENHYWFAR_API
00082 const char *GWEN_StringListEntry_Data(const GWEN_STRINGLISTENTRY *se);
00083
00084 GWENHYWFAR_API
00085 void GWEN_StringListEntry_SetData(GWEN_STRINGLISTENTRY *se,
00086 const char *s);
00087
00094 GWENHYWFAR_API
00095 void GWEN_StringList_SetSenseCase(GWEN_STRINGLIST *sl, int i);
00096
00104 GWENHYWFAR_API
00105 void GWEN_StringList_SetIgnoreRefCount(GWEN_STRINGLIST *sl, int i);
00106
00114 GWENHYWFAR_API int GWEN_StringList_AppendString(GWEN_STRINGLIST *sl,
00115 const char *s,
00116 int take,
00117 int checkDouble);
00118
00126 GWENHYWFAR_API int GWEN_StringList_InsertString(GWEN_STRINGLIST *sl,
00127 const char *s,
00128 int take,
00129 int checkDouble);
00130
00135 GWENHYWFAR_API int GWEN_StringList_RemoveString(GWEN_STRINGLIST *sl,
00136 const char *s);
00137
00143 GWENHYWFAR_API int GWEN_StringList_HasString(const GWEN_STRINGLIST *sl,
00144 const char *s);
00145
00146
00158 GWENHYWFAR_API
00159 void *GWEN_StringList_ForEach(const GWEN_STRINGLIST *l,
00160 void *(*func)(const char *s, void *u),
00161 void *user_data);
00162
00164 GWENHYWFAR_API
00165 const char *GWEN_StringList_FirstString(const GWEN_STRINGLIST *l);
00166
00167 GWENHYWFAR_API
00168 const char *GWEN_StringList_StringAt(const GWEN_STRINGLIST *l, int idx);
00169
00170
00182 GWENHYWFAR_API
00183 void GWEN_StringList_Sort(GWEN_STRINGLIST *l,
00184 int ascending,
00185 GWEN_STRINGLIST_SORT_MODE sortMode);
00186
00187 #ifdef __cplusplus
00188 }
00189 #endif
00190
00191 #endif
00192
00193