stringlist2.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003  -------------------
00004  cvs         : $Id: stringlist2.h 898 2005-11-03 09:51:39Z cstim $
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();
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 

Generated on Wed Jun 21 00:59:52 2006 for gwenhywfar by  doxygen 1.4.6