summaryrefslogtreecommitdiffstats
path: root/xbmc/pvr/epg/EpgSearchData.h
blob: e5e6ef7057e15028b9fac27c3f1bbd9e84c9c0bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
 *  Copyright (C) 2012-2018 Team Kodi
 *  This file is part of Kodi - https://kodi.tv
 *
 *  SPDX-License-Identifier: GPL-2.0-or-later
 *  See LICENSES/README.md for more information.
 */

#pragma once

#include "XBDateTime.h"

#include <string>

namespace PVR
{

static constexpr int EPG_SEARCH_UNSET = -1;

struct PVREpgSearchData
{
  std::string m_strSearchTerm; /*!< The term to search for */
  bool m_bSearchInDescription = false; /*!< Search for strSearchTerm in the description too */
  bool m_bIncludeUnknownGenres = false; /*!< Whether to include unknown genres */
  int m_iGenreType = EPG_SEARCH_UNSET; /*!< The genre type for an entry */
  bool m_bIgnoreFinishedBroadcasts; /*!< True to ignore finished broadcasts, false if not */
  bool m_bIgnoreFutureBroadcasts; /*!< True to ignore future broadcasts, false if not */
  CDateTime m_startDateTime; /*!< The minimum start time for an entry */
  CDateTime m_endDateTime; /*!< The maximum end time for an entry */

  void Reset()
  {
    m_strSearchTerm.clear();
    m_bSearchInDescription = false;
    m_bIncludeUnknownGenres = false;
    m_iGenreType = EPG_SEARCH_UNSET;
    m_bIgnoreFinishedBroadcasts = true;
    m_bIgnoreFutureBroadcasts = false;
    m_startDateTime.SetValid(false);
    m_endDateTime.SetValid(false);
  }
};

} // namespace PVR