kodi
IVideoInfoTagLoader.h
1 /*
2  * Copyright (C) 2017-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 "InfoScanner.h"
12 #include "addons/Scraper.h"
13 
14 #include <string>
15 #include <utility>
16 
17 class CFileItem;
18 class CVideoInfoTag;
19 class EmbeddedArt;
20 
21 namespace VIDEO
22 {
23 
26 {
27 public:
32  IVideoInfoTagLoader(const CFileItem& item, ADDON::ScraperPtr info, bool lookInFolder)
33  : m_item(item), m_info(std::move(info))
34  {
35  }
36  virtual ~IVideoInfoTagLoader() = default;
37 
39  virtual bool HasInfo() const = 0;
40 
46  bool prioritise,
47  std::vector<EmbeddedArt>* art = nullptr) = 0;
48 
50  const CScraperUrl& ScraperUrl() const { return m_url; }
51 
53  const ADDON::ScraperPtr GetAddonInfo() const { return m_info; }
54 
55 protected:
56  const CFileItem& m_item;
57  ADDON::ScraperPtr m_info;
59 };
60 
61 }
virtual CInfoScanner::INFO_TYPE Load(CVideoInfoTag &tag, bool prioritise, std::vector< EmbeddedArt > *art=nullptr)=0
Load tag from file.
Definition: EmbeddedArt.h:38
Base class for video tag loaders.
Definition: IVideoInfoTagLoader.h:25
IVideoInfoTagLoader(const CFileItem &item, ADDON::ScraperPtr info, bool lookInFolder)
Constructor.
Definition: IVideoInfoTagLoader.h:32
Definition: Application.h:72
const ADDON::ScraperPtr GetAddonInfo() const
Returns current scaper info.
Definition: IVideoInfoTagLoader.h:53
ADDON::ScraperPtr m_info
Scraper info.
Definition: IVideoInfoTagLoader.h:57
const CFileItem & m_item
Reference to item to load for.
Definition: IVideoInfoTagLoader.h:56
virtual bool HasInfo() const =0
Returns true if we have info to provide.
CScraperUrl m_url
URL for scraper.
Definition: IVideoInfoTagLoader.h:58
Definition: VideoInfoTag.h:53
const CScraperUrl & ScraperUrl() const
Returns url associated with obtained URL (NFO_URL et al).
Definition: IVideoInfoTagLoader.h:50
Represents a file on a share.
Definition: FileItem.h:102
Definition: ScraperUrl.h:21
INFO_TYPE
Definition: InfoScanner.h:37