Files
react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.hpp
2025-10-24 12:31:06 +02:00

129 lines
6.7 KiB
C++
Generated

///
/// HybridVideoPlayerEventEmitterSpec.hpp
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © 2025 Marc Rousavy @ Margelo
///
#pragma once
#if __has_include(<NitroModules/HybridObject.hpp>)
#include <NitroModules/HybridObject.hpp>
#else
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
#endif
// Forward declaration of `BandwidthData` to properly resolve imports.
namespace margelo::nitro::video { struct BandwidthData; }
// Forward declaration of `onLoadData` to properly resolve imports.
namespace margelo::nitro::video { struct onLoadData; }
// Forward declaration of `onLoadStartData` to properly resolve imports.
namespace margelo::nitro::video { struct onLoadStartData; }
// Forward declaration of `onPlaybackStateChangeData` to properly resolve imports.
namespace margelo::nitro::video { struct onPlaybackStateChangeData; }
// Forward declaration of `onProgressData` to properly resolve imports.
namespace margelo::nitro::video { struct onProgressData; }
// Forward declaration of `TimedMetadata` to properly resolve imports.
namespace margelo::nitro::video { struct TimedMetadata; }
// Forward declaration of `TextTrack` to properly resolve imports.
namespace margelo::nitro::video { struct TextTrack; }
// Forward declaration of `onVolumeChangeData` to properly resolve imports.
namespace margelo::nitro::video { struct onVolumeChangeData; }
// Forward declaration of `VideoPlayerStatus` to properly resolve imports.
namespace margelo::nitro::video { enum class VideoPlayerStatus; }
#include <functional>
#include "BandwidthData.hpp"
#include "onLoadData.hpp"
#include "onLoadStartData.hpp"
#include "onPlaybackStateChangeData.hpp"
#include "onProgressData.hpp"
#include "TimedMetadata.hpp"
#include <string>
#include <vector>
#include "TextTrack.hpp"
#include <optional>
#include "onVolumeChangeData.hpp"
#include "VideoPlayerStatus.hpp"
namespace margelo::nitro::video {
using namespace margelo::nitro;
/**
* An abstract base class for `VideoPlayerEventEmitter`
* Inherit this class to create instances of `HybridVideoPlayerEventEmitterSpec` in C++.
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
* @example
* ```cpp
* class HybridVideoPlayerEventEmitter: public HybridVideoPlayerEventEmitterSpec {
* public:
* HybridVideoPlayerEventEmitter(...): HybridObject(TAG) { ... }
* // ...
* };
* ```
*/
class HybridVideoPlayerEventEmitterSpec: public virtual HybridObject {
public:
// Constructor
explicit HybridVideoPlayerEventEmitterSpec(): HybridObject(TAG) { }
// Destructor
~HybridVideoPlayerEventEmitterSpec() override = default;
public:
// Properties
virtual std::function<void()> getOnAudioBecomingNoisy() = 0;
virtual void setOnAudioBecomingNoisy(const std::function<void()>& onAudioBecomingNoisy) = 0;
virtual std::function<void(bool /* hasAudioFocus */)> getOnAudioFocusChange() = 0;
virtual void setOnAudioFocusChange(const std::function<void(bool /* hasAudioFocus */)>& onAudioFocusChange) = 0;
virtual std::function<void(const BandwidthData& /* data */)> getOnBandwidthUpdate() = 0;
virtual void setOnBandwidthUpdate(const std::function<void(const BandwidthData& /* data */)>& onBandwidthUpdate) = 0;
virtual std::function<void(bool /* buffering */)> getOnBuffer() = 0;
virtual void setOnBuffer(const std::function<void(bool /* buffering */)>& onBuffer) = 0;
virtual std::function<void(bool /* visible */)> getOnControlsVisibleChange() = 0;
virtual void setOnControlsVisibleChange(const std::function<void(bool /* visible */)>& onControlsVisibleChange) = 0;
virtual std::function<void()> getOnEnd() = 0;
virtual void setOnEnd(const std::function<void()>& onEnd) = 0;
virtual std::function<void(bool /* externalPlaybackActive */)> getOnExternalPlaybackChange() = 0;
virtual void setOnExternalPlaybackChange(const std::function<void(bool /* externalPlaybackActive */)>& onExternalPlaybackChange) = 0;
virtual std::function<void(const onLoadData& /* data */)> getOnLoad() = 0;
virtual void setOnLoad(const std::function<void(const onLoadData& /* data */)>& onLoad) = 0;
virtual std::function<void(const onLoadStartData& /* data */)> getOnLoadStart() = 0;
virtual void setOnLoadStart(const std::function<void(const onLoadStartData& /* data */)>& onLoadStart) = 0;
virtual std::function<void(const onPlaybackStateChangeData& /* data */)> getOnPlaybackStateChange() = 0;
virtual void setOnPlaybackStateChange(const std::function<void(const onPlaybackStateChangeData& /* data */)>& onPlaybackStateChange) = 0;
virtual std::function<void(double /* rate */)> getOnPlaybackRateChange() = 0;
virtual void setOnPlaybackRateChange(const std::function<void(double /* rate */)>& onPlaybackRateChange) = 0;
virtual std::function<void(const onProgressData& /* data */)> getOnProgress() = 0;
virtual void setOnProgress(const std::function<void(const onProgressData& /* data */)>& onProgress) = 0;
virtual std::function<void()> getOnReadyToDisplay() = 0;
virtual void setOnReadyToDisplay(const std::function<void()>& onReadyToDisplay) = 0;
virtual std::function<void(double /* seekTime */)> getOnSeek() = 0;
virtual void setOnSeek(const std::function<void(double /* seekTime */)>& onSeek) = 0;
virtual std::function<void(const TimedMetadata& /* metadata */)> getOnTimedMetadata() = 0;
virtual void setOnTimedMetadata(const std::function<void(const TimedMetadata& /* metadata */)>& onTimedMetadata) = 0;
virtual std::function<void(const std::vector<std::string>& /* texts */)> getOnTextTrackDataChanged() = 0;
virtual void setOnTextTrackDataChanged(const std::function<void(const std::vector<std::string>& /* texts */)>& onTextTrackDataChanged) = 0;
virtual std::function<void(const std::optional<TextTrack>& /* track */)> getOnTrackChange() = 0;
virtual void setOnTrackChange(const std::function<void(const std::optional<TextTrack>& /* track */)>& onTrackChange) = 0;
virtual std::function<void(const onVolumeChangeData& /* data */)> getOnVolumeChange() = 0;
virtual void setOnVolumeChange(const std::function<void(const onVolumeChangeData& /* data */)>& onVolumeChange) = 0;
virtual std::function<void(VideoPlayerStatus /* status */)> getOnStatusChange() = 0;
virtual void setOnStatusChange(const std::function<void(VideoPlayerStatus /* status */)>& onStatusChange) = 0;
public:
// Methods
protected:
// Hybrid Setup
void loadHybridMethods() override;
protected:
// Tag for logging
static constexpr auto TAG = "VideoPlayerEventEmitter";
};
} // namespace margelo::nitro::video