common/saxparser/nsSAXAttributes.h
author Patrick Cloke <clokep@gmail.com>
Mon, 04 May 2020 14:53:12 -0400
changeset 38453 309ac5733a971b425eb8bf0ba823fe1e90171572
parent 34140 837f28a0a4f2e78e27095356f9eaf53cc593a423
child 39481 9c08c80ec341936cd58f8a8fbdf01a59bec5fd17
permissions -rw-r--r--
Added tag RELEASE_75_END for changeset 42bd4392fbf8 a=releasemerge ba=releasemerge DONTBUILD CLOSED TREE

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef nsSAXAttributes_h__
#define nsSAXAttributes_h__

#include "nsISupports.h"
#include "nsISAXAttributes.h"
#include "nsTArray.h"
#include "nsString.h"
#include "mozilla/Attributes.h"

struct SAXAttr {
  nsString uri;
  nsString localName;
  nsString qName;
  nsString type;
  nsString value;
};

class nsSAXAttributes final : public nsISAXAttributes {
 public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISAXATTRIBUTES

  nsresult AddAttribute(const nsAString &aURI, const nsAString &aLocalName,
                        const nsAString &aQName, const nsAString &aType,
                        const nsAString &aValue);

 private:
  ~nsSAXAttributes() {}
  nsTArray<SAXAttr> mAttrs;
};

#endif  // nsSAXAttributes_h__