mirror of
https://github.com/zoriya/react-native-video.git
synced 2026-05-23 23:17:20 +00:00
129 lines
6.7 KiB
C++
Generated
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
|