# HUtilityXMLTag

## Functions

| `HUtilityXMLTag`
| `~HUtilityXMLTag`
bool | `AddPropertyFloat`
bool | `AddPropertyInt`
bool | `HasListItems`
bool | `GetNextPropertyItem`
void | `StartPropertyQuery`
void | `AddListItem`
bool | `HasMoreItems`
bool | `GetProperty`
bool | `GetProperty`
bool | `GetProperty`
bool | `GetProperty`
bool | `AddProperty`
void | `StartListItemsQuery`
bool | `GetNextListItem`
void | `SetTagname`
char * | `GetTagname`
void | `FreeMemory`
void | `Init`
bool | `GetOpen`
void | `SetOpen`
void | `CleanupPropertyList`
HUtilityXMLParser * | `GetXMLParser`
HUtilityXMLTag * | `Clone`
void | `AddComment`
struct vlist_s * | `GetCommentList`
void | `CleanListItems`

## Detailed Description

class HUtilityXMLTag

  The HUtilityXMLProperty class encapsulates an XML tag.

  Public Functions

  HUtilityXMLTag(HUtilityXMLParser *xmlparser = 0)

    Constructs an HUtilityXMLTag object

    Parameters

      xmlparser – Pointer to XML Parser for this tag

  virtual ~HUtilityXMLTag()
  bool AddPropertyFloat(const char *name, float f)

    Add Float Property Item

    Parameters

      - name – Name of Property

      - f – Property Data

    Returns

      false = property already exists, true = property does not exist

  bool AddPropertyInt(const char *name, int i)

    Add Integer Property Item

    Parameters

      - name – Name of Property

      - i – Property Data

    Returns

      false = proeprty already exists, true = property does not exist

  bool HasListItems()

    Returns whether the tag has list items

  bool GetNextPropertyItem(char **propname, HUtilityXMLProperty **prop)

    Return next property item

    Parameters

      - propname – Itemname (returned)

      - prop – Property (returned)

    Returns

      false = no property item available, true = success

  void StartPropertyQuery()

    Initiate query for property items

  void AddListItem(const char *text)

    Add list item to tag object

    Parameters

      text – item data to add

  bool HasMoreItems()

    Returns true if more list items are available

  bool GetProperty(const char *name, HUtilityXMLProperty **prop)

    Get Property by Name

    Parameters

      - name – Property name to search for

      - prop – Property (returned)

    Returns

      true = Property found, false = property not found

  bool GetProperty(const char *name, bool &ii)
  bool GetProperty(const char *name, char *pcont)

    Get Property by Name

    Parameters

      - name – Property name to search for

      - pcont – Property string(returned)

    Returns

      true = Property found, false = property not found

  bool GetProperty(const char *name, int &value)

    Get Property by Name

    Parameters

      - name – Property name to search for

      - value – Property value (returned)

    Returns

      true = Property found, false = property not found

  bool AddProperty(const char *name, const char *text, bool hasQuotes = true)

    Add new Property

    Parameters

      - name – Property name to add

      - text – Property data

      - hasQuotes – true = quotes are added to property, false = no quotes are added to property

    Returns

      true = property does not exist, false = property already exists

  void StartListItemsQuery()

    Initiate query for list items

  bool GetNextListItem(char **text)

    Return next list item

    Parameters

      text – List item data (returned)

    Returns

      false = no list item available, true = success

  void SetTagname(const char *tagname)

    Set name of tag

    Parameters

      tagname – Name of tag

  inline char *GetTagname()

    Returns the name of tag

  void FreeMemory()

    Free internal memory

  void Init()

    Initialize the object

  inline bool GetOpen()

    Returns the open flag

  inline void SetOpen(bool o)

    Set flag indicating if tag needs to be kept open to process subtags

    Parameters

      o – true = tag reamins open, false = tag will be closed

  void CleanupPropertyList()

    Deletes all properties from tag object

  inline HUtilityXMLParser *GetXMLParser()

    Returns a pointer to the HUtilityXMLParser object associated to this tag object

  HUtilityXMLTag *Clone()
  void AddComment(char *comment)
  inline struct vlist_s *GetCommentList()
  void CleanListItems()