[PVR][Estuary] Timer settings dialog: Show client name in timer type selection dialog...
[xbmc.git] / xbmc / utils / IPlatformLog.h
blob6ccf98d33480f45fdd987eed248b2f8ec63c4cac
1 /*
2 * Copyright (C) 2020 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include <memory>
12 #include <mutex>
13 #include <string>
15 #ifdef TARGET_WINDOWS
16 using spdlog_filename_t = std::wstring;
17 #else
18 using spdlog_filename_t = std::string;
19 #endif
21 namespace spdlog
23 namespace sinks
25 template<typename Mutex>
26 class dist_sink;
28 } // namespace spdlog
30 class IPlatformLog
32 public:
33 virtual ~IPlatformLog() = default;
35 static std::unique_ptr<IPlatformLog> CreatePlatformLog();
37 virtual spdlog_filename_t GetLogFilename(const std::string& filename) const = 0;
38 virtual void AddSinks(
39 std::shared_ptr<spdlog::sinks::dist_sink<std::mutex>> distributionSink) const = 0;