Merge pull request #26220 from 78andyp/blurayfixes
[xbmc.git] / xbmc / pictures / SlideShowDelegator.h
blob50ff51d8858024cbcbc9caf2284572ba757a3ea1
1 /*
2 * Copyright (C) 2023 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include "interfaces/ISlideShowDelegate.h"
13 #include <memory>
14 #include <string>
15 #include <vector>
17 class CSlideShowDelegator : public ISlideShowDelegate
19 public:
20 CSlideShowDelegator() = default;
21 ~CSlideShowDelegator() = default;
23 void SetDelegate(ISlideShowDelegate* delegate);
24 void ResetDelegate();
26 // Implementation of ISlideShowDelegate
27 void Add(const CFileItem* picture) override;
28 bool IsPlaying() const override;
29 void Select(const std::string& picture) override;
30 void GetSlideShowContents(CFileItemList& list) override;
31 std::shared_ptr<const CFileItem> GetCurrentSlide() override;
32 void StartSlideShow() override;
33 void PlayPicture() override;
34 bool InSlideShow() const override;
35 int NumSlides() const override;
36 int CurrentSlide() const override;
37 bool IsPaused() const override;
38 bool IsShuffled() const override;
39 void Reset() override;
40 void Shuffle() override;
41 int GetDirection() const override;
42 void RunSlideShow(const std::string& strPath,
43 bool bRecursive = false,
44 bool bRandom = false,
45 bool bNotRandom = false,
46 const std::string& beginSlidePath = "",
47 bool startSlideShow = true,
48 SortBy method = SortByLabel,
49 SortOrder order = SortOrderAscending,
50 SortAttribute sortAttributes = SortAttributeNone,
51 const std::string& strExtensions = "") override;
52 void AddFromPath(const std::string& strPath,
53 bool bRecursive,
54 SortBy method = SortByLabel,
55 SortOrder order = SortOrderAscending,
56 SortAttribute sortAttributes = SortAttributeNone,
57 const std::string& strExtensions = "") override;
59 private:
60 ISlideShowDelegate* m_delegate;