kodi
ExecString.h
1 /*
2  * Copyright (C) 2012-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include <string>
12 #include <vector>
13 
14 class CFileItem;
15 
17 {
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 std::string& function, const CFileItem& target, const std::string& param);
23  CExecString(const CFileItem& item, const std::string& contextWindow);
24 
25  virtual ~CExecString() = default;
26 
27  std::string GetExecString() const { return m_execString; }
28 
29  bool IsValid() const { return m_valid; }
30 
31  std::string GetFunction() const { return m_function; }
32  std::vector<std::string> GetParams() const { return m_params; }
33 
34 private:
35  bool Parse(const std::string& execString);
36  bool Parse(const CFileItem& item, const std::string& contextWindow);
37 
38  void Build(const std::string& function, const std::vector<std::string>& params);
39  void BuildPlayMedia(const CFileItem& item, const std::string& target);
40 
41  void SetExecString();
42 
43  bool m_valid{false};
44  std::string m_function;
45  std::vector<std::string> m_params;
46  std::string m_execString;
47 };
Definition: ExecString.h:16
Definition: Build.py:1
Represents a file on a share.
Definition: FileItem.h:102