stringlist2.h File Reference
`#include <gwenhywfar/gwenhywfarapi.h>`
`#include <gwenhywfar/stringlist.h>`
`#include <gwenhywfar/types.h>`
`#include <gwenhywfar/refptr.h>`
`#include <gwenhywfar/list.h>`
`#include <gwenhywfar/db.h>`
`#include <gwenhywfar/xml.h>`

Go to the source code of this file.

## Typedefs

typedef struct GWEN_STRINGLIST2 | GWEN_STRINGLIST2
typedef GWEN_LIST_ITERATOR | GWEN_STRINGLIST2_ITERATOR

## Enumerations

enum | GWEN_STRINGLIST2_INSERTMODE { GWEN_StringList2_IntertMode_AlwaysAdd =0 , GWEN_StringList2_IntertMode_NoDouble , GWEN_StringList2_IntertMode_Reuse }

## Functions

GWENHYWFAR_API int | GWEN_StringList2_AppendString (GWEN_STRINGLIST2 *sl2, const char *s, int take, GWEN_STRINGLIST2_INSERTMODE m)
GWENHYWFAR_API void | GWEN_StringList2_Dump (const GWEN_STRINGLIST2 *sl2)
GWENHYWFAR_API GWEN_STRINGLIST2 * | GWEN_StringList2_dup (GWEN_STRINGLIST2 *sl2)
GWENHYWFAR_API GWEN_STRINGLIST2_ITERATOR * | GWEN_StringList2_First (const GWEN_STRINGLIST2 *l)
GWENHYWFAR_API void | GWEN_StringList2_free (GWEN_STRINGLIST2 *sl2)
GWENHYWFAR_API GWEN_STRINGLIST2 * | GWEN_StringList2_fromDb (GWEN_DB_NODE *db, const char *name, GWEN_STRINGLIST2_INSERTMODE m)
GWENHYWFAR_API GWEN_STRINGLIST2 * | GWEN_StringList2_fromXml (GWEN_XMLNODE *node, GWEN_STRINGLIST2_INSERTMODE m)
GWENHYWFAR_API unsigned int | GWEN_StringList2_GetCount (const GWEN_STRINGLIST2 *l)
GWENHYWFAR_API const char * | GWEN_StringList2_GetStringAt (const GWEN_STRINGLIST2 *sl2, int idx)
GWENHYWFAR_API int | GWEN_StringList2_HasString (const GWEN_STRINGLIST2 *sl2, const char *s)
GWENHYWFAR_API int | GWEN_StringList2_InsertString (GWEN_STRINGLIST2 *sl2, const char *s, int take, GWEN_STRINGLIST2_INSERTMODE m)
GWENHYWFAR_API GWEN_STRINGLIST2_ITERATOR * | GWEN_StringList2_Last (const GWEN_STRINGLIST2 *l)
GWENHYWFAR_API GWEN_STRINGLIST2 * | GWEN_StringList2_new (void)
GWENHYWFAR_API int | GWEN_StringList2_RemoveString (GWEN_STRINGLIST2 *sl2, const char *s)
GWENHYWFAR_API void | GWEN_StringList2_SetIgnoreRefCount (GWEN_STRINGLIST2 *sl2, int i)
GWENHYWFAR_API void | GWEN_StringList2_SetSenseCase (GWEN_STRINGLIST2 *sl2, int i)
GWENHYWFAR_API int | GWEN_StringList2_toDb (GWEN_STRINGLIST2 *sl2, GWEN_DB_NODE *db, const char *varName)
GWENHYWFAR_API int | GWEN_StringList2_toXml (GWEN_STRINGLIST2 *sl2, GWEN_XMLNODE *node)
GWENHYWFAR_API const char * | GWEN_StringList2Iterator_Data (GWEN_STRINGLIST2_ITERATOR *li)
GWENHYWFAR_API GWEN_REFPTR * | GWEN_StringList2Iterator_DataRefPtr (GWEN_STRINGLIST2_ITERATOR *li)
GWENHYWFAR_API void | GWEN_StringList2Iterator_free (GWEN_STRINGLIST2_ITERATOR *li)
GWENHYWFAR_API unsigned int | GWEN_StringList2Iterator_GetLinkCount (const GWEN_STRINGLIST2_ITERATOR *li)
GWENHYWFAR_API const char * | GWEN_StringList2Iterator_Next (GWEN_STRINGLIST2_ITERATOR *li)
GWENHYWFAR_API const char * | GWEN_StringList2Iterator_Previous (GWEN_STRINGLIST2_ITERATOR *li)

## Typedef Documentation

## GWEN_STRINGLIST2

typedef struct GWEN_STRINGLIST2 GWEN_STRINGLIST2

Definition at line 43 of file stringlist2.h.

## GWEN_STRINGLIST2_ITERATOR

typedef GWEN_LIST_ITERATOR GWEN_STRINGLIST2_ITERATOR

Definition at line 44 of file stringlist2.h.

## Enumeration Type Documentation

## GWEN_STRINGLIST2_INSERTMODE

enum GWEN_STRINGLIST2_INSERTMODE

Enumerator
GWEN_StringList2_IntertMode_AlwaysAdd |
GWEN_StringList2_IntertMode_NoDouble |
GWEN_StringList2_IntertMode_Reuse |

Definition at line 47 of file stringlist2.h.

## Function Documentation

## GWEN_StringList2_AppendString()

GWENHYWFAR_API int GWEN_StringList2_AppendString | ( | GWEN_STRINGLIST2 * | sl2,
|  | const char * | s,
|  | int | take,
|  | GWEN_STRINGLIST2_INSERTMODE | m )

Appends a string.

Returns
  0 if not appended, !=0 if appended

Parameters

  take | if true then the StringList takes over ownership of the string
  checkDouble | if true the the string will only be appended if it does not already exist

References GWENHYWFAR_API.

## GWEN_StringList2_Dump()

GWENHYWFAR_API void GWEN_StringList2_Dump | ( | const GWEN_STRINGLIST2 * | sl2 | ) |

References GWENHYWFAR_API.

## GWEN_StringList2_dup()

GWENHYWFAR_API GWEN_STRINGLIST2 * GWEN_StringList2_dup | ( | GWEN_STRINGLIST2 * | sl2 | ) |

References GWENHYWFAR_API.

## GWEN_StringList2_First()

GWENHYWFAR_API GWEN_STRINGLIST2_ITERATOR * GWEN_StringList2_First | ( | const GWEN_STRINGLIST2 * | l | ) |

References GWENHYWFAR_API.

## GWEN_StringList2_free()

GWENHYWFAR_API void GWEN_StringList2_free | ( | GWEN_STRINGLIST2 * | sl2 | ) |

References GWENHYWFAR_API.

## GWEN_StringList2_fromDb()

GWENHYWFAR_API GWEN_STRINGLIST2 * GWEN_StringList2_fromDb | ( | GWEN_DB_NODE * | db,
|  | const char * | name,
|  | GWEN_STRINGLIST2_INSERTMODE | m )

References GWENHYWFAR_API.

## GWEN_StringList2_fromXml()

GWENHYWFAR_API GWEN_STRINGLIST2 * GWEN_StringList2_fromXml | ( | GWEN_XMLNODE * | node,
|  | GWEN_STRINGLIST2_INSERTMODE | m )

References GWENHYWFAR_API.

## GWEN_StringList2_GetCount()

GWENHYWFAR_API unsigned int GWEN_StringList2_GetCount | ( | const GWEN_STRINGLIST2 * | l | ) |

References GWENHYWFAR_API.

## GWEN_StringList2_GetStringAt()

GWENHYWFAR_API const char * GWEN_StringList2_GetStringAt | ( | const GWEN_STRINGLIST2 * | sl2,
|  | int | idx )

References GWENHYWFAR_API.

## GWEN_StringList2_HasString()

GWENHYWFAR_API int GWEN_StringList2_HasString | ( | const GWEN_STRINGLIST2 * | sl2,
|  | const char * | s )

Checks whether the given string already exists within in the string list.

Returns
  !=0 if found, 0 otherwise

References GWENHYWFAR_API.

## GWEN_StringList2_InsertString()

GWENHYWFAR_API int GWEN_StringList2_InsertString | ( | GWEN_STRINGLIST2 * | sl2,
|  | const char * | s,
|  | int | take,
|  | GWEN_STRINGLIST2_INSERTMODE | m )

Inserts a string.

Returns
  0 if not inserted, !=0 if inserted

Parameters

  take | if true then the StringList takes over ownership of the string
  checkDouble | if true the the string will only be appended if it does not already exist

## GWEN_StringList2_Last()

GWENHYWFAR_API GWEN_STRINGLIST2_ITERATOR * GWEN_StringList2_Last | ( | const GWEN_STRINGLIST2 * | l | ) |

References GWENHYWFAR_API.

## GWEN_StringList2_new()

GWENHYWFAR_API GWEN_STRINGLIST2 * GWEN_StringList2_new | ( | void |  | ) |

References GWENHYWFAR_API.

## GWEN_StringList2_RemoveString()

GWENHYWFAR_API int GWEN_StringList2_RemoveString | ( | GWEN_STRINGLIST2 * | sl2,
|  | const char * | s )

Removes a given string from the stringlist.

Returns
  0 if not found, !=0 if found and removed

References GWENHYWFAR_API.

## GWEN_StringList2_SetIgnoreRefCount()

GWENHYWFAR_API void GWEN_StringList2_SetIgnoreRefCount | ( | GWEN_STRINGLIST2 * | sl2,
|  | int | i )

Normally this group of functions ignores reference counters on stringlist entries when removing a string via GWEN_StringList2_RemoveString. You can change this behaviour here.

Parameters

  sl2 | string list
  i | if 0 then reference counters are honoured

References GWENHYWFAR_API.

## GWEN_StringList2_SetSenseCase()

GWENHYWFAR_API void GWEN_StringList2_SetSenseCase | ( | GWEN_STRINGLIST2 * | sl2,
|  | int | i )

Normally this group of functions ignores cases when comparing two strings. You can change this behaviour here.

Parameters

  sl2 | string list
  i | if 0 then cases are ignored

References GWENHYWFAR_API.

## GWEN_StringList2_toDb()

GWENHYWFAR_API int GWEN_StringList2_toDb | ( | GWEN_STRINGLIST2 * | sl2,
|  | GWEN_DB_NODE * | db,
|  | const char * | varName )

References GWENHYWFAR_API.

## GWEN_StringList2_toXml()

GWENHYWFAR_API int GWEN_StringList2_toXml | ( | GWEN_STRINGLIST2 * | sl2,
|  | GWEN_XMLNODE * | node )

References GWENHYWFAR_API.

## GWEN_StringList2Iterator_Data()

GWENHYWFAR_API const char * GWEN_StringList2Iterator_Data | ( | GWEN_STRINGLIST2_ITERATOR * | li | ) |

References GWENHYWFAR_API.

## GWEN_StringList2Iterator_DataRefPtr()

GWENHYWFAR_API GWEN_REFPTR * GWEN_StringList2Iterator_DataRefPtr | ( | GWEN_STRINGLIST2_ITERATOR * | li | ) |

## GWEN_StringList2Iterator_free()

GWENHYWFAR_API void GWEN_StringList2Iterator_free | ( | GWEN_STRINGLIST2_ITERATOR * | li | ) |

References GWENHYWFAR_API.

## GWEN_StringList2Iterator_GetLinkCount()

GWENHYWFAR_API unsigned int GWEN_StringList2Iterator_GetLinkCount | ( | const GWEN_STRINGLIST2_ITERATOR * | li | ) |

References GWENHYWFAR_API.

## GWEN_StringList2Iterator_Next()

GWENHYWFAR_API const char * GWEN_StringList2Iterator_Next | ( | GWEN_STRINGLIST2_ITERATOR * | li | ) |

References GWENHYWFAR_API.

## GWEN_StringList2Iterator_Previous()

GWENHYWFAR_API const char * GWEN_StringList2Iterator_Previous | ( | GWEN_STRINGLIST2_ITERATOR * | li | ) |

References GWENHYWFAR_API.