Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/netwerk/streamconv/nsStreamConverterService.h
Line
Count
Source (jump to first uncovered line)
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/. */
5
6
#ifndef __nsstreamconverterservice__h___
7
#define __nsstreamconverterservice__h___
8
9
#include "nsIStreamConverterService.h"
10
11
#include "nsClassHashtable.h"
12
#include "nsCOMArray.h"
13
#include "nsStringFwd.h"
14
#include "nsTArrayForwardDeclare.h"
15
16
class nsAtom;
17
18
class nsStreamConverterService : public nsIStreamConverterService {
19
public:
20
    /////////////////////////////////////////////////////
21
    // nsISupports methods
22
    NS_DECL_ISUPPORTS
23
24
25
    /////////////////////////////////////////////////////
26
    // nsIStreamConverterService methods
27
    NS_DECL_NSISTREAMCONVERTERSERVICE
28
29
    /////////////////////////////////////////////////////
30
    // nsStreamConverterService methods
31
0
    nsStreamConverterService() = default;
32
33
private:
34
0
    virtual ~nsStreamConverterService() = default;
35
36
    // Responsible for finding a converter for the given MIME-type.
37
    nsresult FindConverter(const char *aContractID, nsTArray<nsCString> **aEdgeList);
38
    nsresult BuildGraph(void);
39
    nsresult AddAdjacency(const char *aContractID);
40
    nsresult ParseFromTo(const char *aContractID, nsCString &aFromRes, nsCString &aToRes);
41
42
    // member variables
43
    nsClassHashtable<nsCStringHashKey, nsTArray<RefPtr<nsAtom>>>
44
        mAdjacencyList;
45
};
46
47
#endif // __nsstreamconverterservice__h___