xbmc
VideoTagLoaderPlugin.h
1 /*
2  * Copyright (C) 2005-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 "IVideoInfoTagLoader.h"
12 #include "video/VideoInfoTag.h"
13 
14 #include <map>
15 #include <memory>
16 #include <string>
17 #include <vector>
18 
21 {
22 public:
23  CVideoTagLoaderPlugin(const CFileItem& item, bool forceRefresh);
24 
25  ~CVideoTagLoaderPlugin() override = default;
26 
28  bool HasInfo() const override;
29 
32  CInfoScanner::INFO_TYPE Load(CVideoInfoTag& tag, bool prioritise,
33  std::vector<EmbeddedArt>* = nullptr) override;
34 
35  inline std::unique_ptr<std::map<std::string, std::string>>& GetArt()
36  {
37  return m_art;
38  }
39 protected:
40  std::unique_ptr<CVideoInfoTag> m_tag;
41  std::unique_ptr<std::map<std::string, std::string>> m_art;
42  bool m_force_refresh;
43 };
CInfoScanner::INFO_TYPE Load(CVideoInfoTag &tag, bool prioritise, std::vector< EmbeddedArt > *=nullptr) override
Load "tag" from plugin.
Definition: VideoTagLoaderPlugin.cpp:35
bool HasInfo() const override
Returns whether or not read has info.
Definition: VideoTagLoaderPlugin.cpp:30
Base class for video tag loaders.
Definition: IVideoInfoTagLoader.h:25
Video tag loader from plugin source.
Definition: VideoTagLoaderPlugin.h:20
Definition: VideoInfoTag.h:51
Represents a file on a share.
Definition: FileItem.h:102
INFO_TYPE
Definition: InfoScanner.h:37