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_STRINGLIST2_H
00029 #define GWENHYWFAR_STRINGLIST2_H
00030
00031 #include <gwenhywfar/gwenhywfarapi.h>
00032 #include <gwenhywfar/stringlist.h>
00033 #include <gwenhywfar/types.h>
00034 #include <gwenhywfar/refptr.h>
00035 #include <gwenhywfar/list.h>
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00041 typedef struct GWEN_STRINGLIST2 GWEN_STRINGLIST2;
00042 typedef GWEN_LIST_ITERATOR GWEN_STRINGLIST2_ITERATOR;
00043
00044
00045 typedef enum {
00046 GWEN_StringList2_IntertMode_AlwaysAdd=0,
00047 GWEN_StringList2_IntertMode_NoDouble,
00048 GWEN_StringList2_IntertMode_Reuse
00049 } GWEN_STRINGLIST2_INSERTMODE;
00050
00051
00052 GWENHYWFAR_API
00053 GWEN_STRINGLIST2 *GWEN_StringList2_new(void);
00054 GWENHYWFAR_API
00055 void GWEN_StringList2_free(GWEN_STRINGLIST2 *sl2);
00056 GWENHYWFAR_API
00057 GWEN_STRINGLIST2 *GWEN_StringList2_dup(GWEN_STRINGLIST2 *sl2);
00058
00059
00066 GWENHYWFAR_API
00067 void GWEN_StringList2_SetSenseCase(GWEN_STRINGLIST2 *sl2, int i);
00068
00076 GWENHYWFAR_API
00077 void GWEN_StringList2_SetIgnoreRefCount(GWEN_STRINGLIST2 *sl2, int i);
00078
00086 GWENHYWFAR_API
00087 int GWEN_StringList2_AppendString(GWEN_STRINGLIST2 *sl2,
00088 const char *s,
00089 int take,
00090 GWEN_STRINGLIST2_INSERTMODE m);
00091
00099 GWENHYWFAR_API
00100 int GWEN_StringList2_InsertString(GWEN_STRINGLIST2 *sl2,
00101 const char *s,
00102 int take,
00103 GWEN_STRINGLIST2_INSERTMODE m);
00104
00109 GWENHYWFAR_API int GWEN_StringList2_RemoveString(GWEN_STRINGLIST2 *sl2,
00110 const char *s);
00111
00117 GWENHYWFAR_API int GWEN_StringList2_HasString(const GWEN_STRINGLIST2 *sl2,
00118 const char *s);
00119
00120
00121
00122
00123 GWENHYWFAR_API
00124 GWEN_STRINGLIST2_ITERATOR *GWEN_StringList2_First(const GWEN_STRINGLIST2 *l);
00125
00126
00127 GWENHYWFAR_API
00128 GWEN_STRINGLIST2_ITERATOR *GWEN_StringList2_Last(const GWEN_STRINGLIST2 *l);
00129
00130
00131 GWENHYWFAR_API
00132 void GWEN_StringList2Iterator_free(GWEN_STRINGLIST2_ITERATOR *li);
00133
00134
00135 GWENHYWFAR_API
00136 const char *GWEN_StringList2Iterator_Previous(GWEN_STRINGLIST2_ITERATOR *li);
00137
00138
00139 GWENHYWFAR_API
00140 const char *GWEN_StringList2Iterator_Next(GWEN_STRINGLIST2_ITERATOR *li);
00141
00142
00143 GWENHYWFAR_API
00144 const char *GWEN_StringList2Iterator_Data(GWEN_STRINGLIST2_ITERATOR *li);
00145
00146 GWENHYWFAR_API
00147 unsigned int
00148 GWEN_StringList2Iterator_GetLinkCount(const GWEN_STRINGLIST2_ITERATOR *li);
00149
00150
00151 GWENHYWFAR_API
00152 GWEN_REFPTR*
00153 GWEN_StringList2Iterator_DataRefPtr(GWEN_STRINGLIST2_ITERATOR *li);
00154
00155
00156 GWENHYWFAR_API void GWEN_StringList2_Dump(const GWEN_STRINGLIST2 *sl2);
00157
00158
00159
00160 #ifdef __cplusplus
00161 }
00162 #endif
00163
00164
00165 #endif
00166
00167