/// /// HybridOmniViewSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// #pragma once #if __has_include() #include #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif // Forward declaration of `HybridOmniPlayerSpec` to properly resolve imports. namespace margelo::nitro::omni { class HybridOmniPlayerSpec; } // Forward declaration of `SubtitleAssets` to properly resolve imports. namespace margelo::nitro::omni { struct SubtitleAssets; } #include #include "HybridOmniPlayerSpec.hpp" #include #include "SubtitleAssets.hpp" namespace margelo::nitro::omni { using namespace margelo::nitro; /** * An abstract base class for `OmniView` * Inherit this class to create instances of `HybridOmniViewSpec` in C++. * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual. * @example * ```cpp * class HybridOmniView: public HybridOmniViewSpec { * public: * HybridOmniView(...): HybridObject(TAG) { ... } * // ... * }; * ``` */ class HybridOmniViewSpec: public virtual HybridObject { public: // Constructor explicit HybridOmniViewSpec(): HybridObject(TAG) { } // Destructor ~HybridOmniViewSpec() override = default; public: // Properties virtual std::shared_ptr getPlayer() = 0; virtual void setPlayer(const std::shared_ptr& player) = 0; virtual std::optional getAutoplay() = 0; virtual void setAutoplay(std::optional autoplay) = 0; virtual std::optional getAutoPip() = 0; virtual void setAutoPip(std::optional autoPip) = 0; virtual std::optional getSubtitleAssets() = 0; virtual void setSubtitleAssets(const std::optional& subtitleAssets) = 0; public: // Methods protected: // Hybrid Setup void loadHybridMethods() override; protected: // Tag for logging static constexpr auto TAG = "OmniView"; }; } // namespace margelo::nitro::omni