1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef TRANSFRMX_TXNAMESPACEMAP_H
7 #define TRANSFRMX_TXNAMESPACEMAP_H
13 class txNamespaceMap
{
16 txNamespaceMap(const txNamespaceMap
& aOther
);
18 nsrefcnt
AddRef() { return ++mRefCnt
; }
21 mRefCnt
= 1; // stabilize
28 nsresult
mapNamespace(nsAtom
* aPrefix
, const nsAString
& aNamespaceURI
);
29 int32_t lookupNamespace(nsAtom
* aPrefix
);
30 int32_t lookupNamespaceWithDefault(const nsAString
& aPrefix
);
34 nsTArray
<RefPtr
<nsAtom
>> mPrefixes
;
35 nsTArray
<int32_t> mNamespaces
;
38 #endif // TRANSFRMX_TXNAMESPACEMAP_H