|
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- |
|
2 * |
|
3 * This Source Code Form is subject to the terms of the Mozilla Public |
|
4 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
6 #ifndef NS_PARSERSERVICE_H__ |
|
7 #define NS_PARSERSERVICE_H__ |
|
8 |
|
9 #include "nsIParserService.h" |
|
10 |
|
11 extern "C" int MOZ_XMLIsLetter(const char* ptr); |
|
12 extern "C" int MOZ_XMLIsNCNameChar(const char* ptr); |
|
13 extern "C" int MOZ_XMLTranslateEntity(const char* ptr, const char* end, |
|
14 const char** next, char16_t* result); |
|
15 |
|
16 class nsParserService : public nsIParserService { |
|
17 public: |
|
18 nsParserService(); |
|
19 virtual ~nsParserService(); |
|
20 |
|
21 NS_DECL_ISUPPORTS |
|
22 |
|
23 int32_t HTMLAtomTagToId(nsIAtom* aAtom) const; |
|
24 |
|
25 int32_t HTMLCaseSensitiveAtomTagToId(nsIAtom* aAtom) const; |
|
26 |
|
27 int32_t HTMLStringTagToId(const nsAString& aTag) const; |
|
28 |
|
29 const char16_t *HTMLIdToStringTag(int32_t aId) const; |
|
30 |
|
31 nsIAtom *HTMLIdToAtomTag(int32_t aId) const; |
|
32 |
|
33 NS_IMETHOD HTMLConvertEntityToUnicode(const nsAString& aEntity, |
|
34 int32_t* aUnicode) const; |
|
35 NS_IMETHOD HTMLConvertUnicodeToEntity(int32_t aUnicode, |
|
36 nsCString& aEntity) const; |
|
37 NS_IMETHOD IsContainer(int32_t aId, bool& aIsContainer) const; |
|
38 NS_IMETHOD IsBlock(int32_t aId, bool& aIsBlock) const; |
|
39 }; |
|
40 |
|
41 #endif |