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 __nsstreamconverterservice__h___
7 #define __nsstreamconverterservice__h___
9 #include "nsIStreamConverterService.h"
11 #include "nsClassHashtable.h"
12 #include "nsStringFwd.h"
13 #include "nsTArrayForwardDeclare.h"
17 class nsStreamConverterService
: public nsIStreamConverterService
{
19 /////////////////////////////////////////////////////
20 // nsISupports methods
23 /////////////////////////////////////////////////////
24 // nsIStreamConverterService methods
25 NS_DECL_NSISTREAMCONVERTERSERVICE
27 /////////////////////////////////////////////////////
28 // nsStreamConverterService methods
29 nsStreamConverterService() = default;
32 virtual ~nsStreamConverterService() = default;
34 // Responsible for finding a converter for the given MIME-type.
35 nsresult
FindConverter(const char* aContractID
,
36 nsTArray
<nsCString
>** aEdgeList
);
37 nsresult
BuildGraph(void);
38 nsresult
AddAdjacency(const char* aContractID
);
39 nsresult
ParseFromTo(const char* aContractID
, nsCString
& aFromRes
,
43 nsClassHashtable
<nsCStringHashKey
, nsTArray
<RefPtr
<nsAtom
>>> mAdjacencyList
;
46 #endif // __nsstreamconverterservice__h___