Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

stringlist2.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile: stringlist2.h,v $
00003  -------------------
00004  cvs         : $Id: stringlist2.h,v 1.2 2004/12/22 17:02:03 aquamaniac Exp $
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_IntertModeAlwaysAdd=0,
00047   GWEN_StringList2_IntertModeNoDouble,
00048   GWEN_StringList2_IntertModeReuse
00049 } GWEN_STRINGLIST2_INSERTMODE;
00050 
00051 
00052 GWEN_STRINGLIST2 *GWEN_StringList2_new();
00053 void GWEN_StringList2_free(GWEN_STRINGLIST2 *sl2);
00054 GWEN_STRINGLIST2 *GWEN_StringList2_dup(GWEN_STRINGLIST2 *sl2);
00055 
00056 
00063 void GWEN_StringList2_SetSenseCase(GWEN_STRINGLIST2 *sl2, int i);
00064 
00072 void GWEN_StringList2_SetIgnoreRefCount(GWEN_STRINGLIST2 *sl2, int i);
00073 
00081 GWENHYWFAR_API
00082 int GWEN_StringList2_AppendString(GWEN_STRINGLIST2 *sl2,
00083                                   const char *s,
00084                                   int take,
00085                                   GWEN_STRINGLIST2_INSERTMODE m);
00086 
00094 GWENHYWFAR_API
00095 int GWEN_StringList2_InsertString(GWEN_STRINGLIST2 *sl2,
00096                                   const char *s,
00097                                   int take,
00098                                   GWEN_STRINGLIST2_INSERTMODE m);
00099 
00104 GWENHYWFAR_API int GWEN_StringList2_RemoveString(GWEN_STRINGLIST2 *sl2,
00105                                                 const char *s);
00106 
00112 GWENHYWFAR_API int GWEN_StringList2_HasString(const GWEN_STRINGLIST2 *sl2,
00113                                              const char *s);
00114 
00115 
00116 
00117 
00118 GWEN_STRINGLIST2_ITERATOR *GWEN_StringList2_First(const GWEN_STRINGLIST2 *l);
00119 
00120 
00121 GWEN_STRINGLIST2_ITERATOR *GWEN_StringList2_Last(const GWEN_STRINGLIST2 *l);
00122 
00123 
00124 void GWEN_StringList2Iterator_free(GWEN_STRINGLIST2_ITERATOR *li);
00125 
00126 
00127 const char *GWEN_StringList2Iterator_Previous(GWEN_STRINGLIST2_ITERATOR *li);
00128 
00129 
00130 const char *GWEN_StringList2Iterator_Next(GWEN_STRINGLIST2_ITERATOR *li);
00131 
00132 
00133 const char *GWEN_StringList2Iterator_Data(GWEN_STRINGLIST2_ITERATOR *li);
00134 
00135 unsigned int
00136   GWEN_StringList2Iterator_GetLinkCount(const GWEN_STRINGLIST2_ITERATOR *li);
00137 
00138 
00139 GWEN_REFPTR*
00140 GWEN_StringList2Iterator_DataRefPtr(GWEN_STRINGLIST2_ITERATOR *li);
00141 
00142 
00143 GWENHYWFAR_API void GWEN_StringList2_Dump(const GWEN_STRINGLIST2 *sl2);
00144 
00145 
00146 
00147 #ifdef __cplusplus
00148 }
00149 #endif
00150 
00151 
00152 #endif
00153 
00154 

Generated on Wed Oct 5 15:12:37 2005 for gwenhywfar by  doxygen 1.4.4