gwenhywfar
4.3.1
|
00001 /*************************************************************************** 00002 $RCSfile$ 00003 ------------------- 00004 cvs : $Id$ 00005 begin : Thu Apr 03 2003 00006 copyright : (C) 2003 by Martin Preuss 00007 email : martin@libchipcard.de 00008 00009 *************************************************************************** 00010 * * 00011 * This library is free software; you can redistribute it and/or * 00012 * modify it under the terms of the GNU Lesser General Public * 00013 * License as published by the Free Software Foundation; either * 00014 * version 2.1 of the License, or (at your option) any later version. * 00015 * * 00016 * This library is distributed in the hope that it will be useful, * 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00019 * Lesser General Public License for more details. * 00020 * * 00021 * You should have received a copy of the GNU Lesser General Public * 00022 * License along with this library; if not, write to the Free Software * 00023 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * 00024 * MA 02111-1307 USA * 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