1 //===-- LogFilterChain.h ----------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LogFilterChain_h
11 #define LogFilterChain_h
15 #include "DarwinLogInterfaces.h"
17 class LogFilterChain {
19 LogFilterChain(bool default_accept);
21 void AppendFilter(const LogFilterSP &filter_sp);
23 void ClearFilterChain();
25 bool GetDefaultAccepts() const;
27 void SetDefaultAccepts(bool default_accepts);
29 bool GetAcceptMessage(const LogMessage &message) const;
32 using FilterVector = std::vector<LogFilterSP>;
34 FilterVector m_filters;
35 bool m_default_accept;
38 #endif /* LogFilterChain_hpp */