[PVR][Estuary] Timer settings dialog: Show client name in timer type selection dialog...
[xbmc.git] / xbmc / utils / ExecString.h
blobfda234aaa6bd92f0b0a49076133217dc6ce1e561
1 /*
2 * Copyright (C) 2012-2018 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 <string>
12 #include <vector>
14 class CFileItem;
16 class CExecString
18 public:
19 CExecString() = default;
20 explicit CExecString(const std::string& execString);
21 CExecString(const std::string& function, const std::vector<std::string>& params);
22 CExecString(const CFileItem& item, const std::string& contextWindow);
24 virtual ~CExecString() = default;
26 std::string GetExecString() const { return m_execString; }
28 bool IsValid() const { return m_valid; }
30 std::string GetFunction() const { return m_function; }
31 std::vector<std::string> GetParams() const { return m_params; }
33 private:
34 bool Parse(const std::string& execString);
35 bool Parse(const CFileItem& item, const std::string& contextWindow);
37 void Build(const std::string& function, const std::vector<std::string>& params);
38 void BuildPlayMedia(const CFileItem& item, const std::string& target);
40 void SetExecString();
42 bool m_valid{false};
43 std::string m_function;
44 std::vector<std::string> m_params;
45 std::string m_execString;