1//===--- PathDiagnosticClients.h - Path Diagnostic Clients ------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10//  This file defines the interface to create different path diagostic clients.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_CLANG_GR_PATH_DIAGNOSTIC_CLIENTS_H
15#define LLVM_CLANG_GR_PATH_DIAGNOSTIC_CLIENTS_H
16
17#include <string>
18
19namespace clang {
20
21class Preprocessor;
22
23namespace ento {
24
25class PathDiagnosticConsumer;
26
27PathDiagnosticConsumer*
28createHTMLDiagnosticConsumer(const std::string& prefix, const Preprocessor &PP);
29
30PathDiagnosticConsumer*
31createPlistDiagnosticConsumer(const std::string& prefix, const Preprocessor &PP,
32                              PathDiagnosticConsumer *SubPD = 0);
33
34PathDiagnosticConsumer*
35createPlistMultiFileDiagnosticConsumer(const std::string& prefix,
36                                       const Preprocessor &PP);
37
38PathDiagnosticConsumer*
39createTextPathDiagnosticConsumer(const std::string& prefix,
40                                 const Preprocessor &PP);
41
42} // end GR namespace
43
44} // end clang namespace
45
46#endif
47