kodi
VideoSelectActionProcessor.h
1 /*
2  * Copyright (C) 2023 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 "video/guilib/VideoPlayActionProcessor.h"
12 
13 #include <memory>
14 
15 class CFileItem;
16 
17 namespace VIDEO
18 {
19 namespace GUILIB
20 {
22 {
23 public:
24  explicit CVideoSelectActionProcessorBase(const std::shared_ptr<CFileItem>& item)
26  {
27  }
28 
29  ~CVideoSelectActionProcessorBase() override = default;
30 
31  static Action GetDefaultSelectAction();
32 
33 protected:
34  Action GetDefaultAction() override;
35  bool Process(Action action) override;
36 
37  virtual bool OnPlayPartSelected(unsigned int part) = 0;
38  virtual bool OnQueueSelected() = 0;
39  virtual bool OnInfoSelected() = 0;
40  virtual bool OnMoreSelected() = 0;
41 
42 private:
44  Action ChooseVideoItemSelectAction() const;
45  unsigned int ChooseStackItemPartNumber() const;
46 };
47 } // namespace GUILIB
48 } // namespace VIDEO
Definition: Application.h:72
Definition: VideoPlayActionProcessor.h:21
Definition: VideoSelectActionProcessor.h:21
Represents a file on a share.
Definition: FileItem.h:102