1 /*
2  * SRT - Secure, Reliable, Transport
3  * Copyright (c) 2018 Haivision Systems Inc.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  */
10 
11 #ifndef INC_SRT_LOGSUPPORT_HPP
12 #define INC_SRT_LOGSUPPORT_HPP
13 
14 #include <string>
15 #include <map>
16 #include <vector>
17 #include "../srtcore/srt.h"
18 #include "../srtcore/logging_api.h"
19 
20 srt_logging::LogLevel::type SrtParseLogLevel(std::string level);
21 std::set<srt_logging::LogFA> SrtParseLogFA(std::string fa, std::set<std::string>* punknown = nullptr);
22 void ParseLogFASpec(const std::vector<std::string>& speclist, std::string& w_on, std::string& w_off);
23 const std::map<std::string, int> SrtLogFAList();
24 
25 SRT_API extern std::map<std::string, int> srt_level_names;
26 
27 struct LogFANames
28 {
29     std::map<std::string, int> namemap;
30     void Install(std::string upname, int value);
31     LogFANames();
32 };
33 
34 #endif
35