MediaPlayerRequestInstallMissingPluginsCallback.h [plain text]
#ifndef MediaPlayerRequestInstallMissingPluginsCallback_h
#define MediaPlayerRequestInstallMissingPluginsCallback_h
#if ENABLE(VIDEO) && USE(GSTREAMER)
#include <wtf/Function.h>
#include <wtf/RefCounted.h>
namespace WebCore {
class MediaPlayerRequestInstallMissingPluginsCallback : public RefCounted<MediaPlayerRequestInstallMissingPluginsCallback> {
WTF_MAKE_FAST_ALLOCATED();
public:
using MediaPlayerRequestInstallMissingPluginsCallbackFunction = std::function<void(uint32_t, MediaPlayerRequestInstallMissingPluginsCallback&)>;
static Ref<MediaPlayerRequestInstallMissingPluginsCallback> create(MediaPlayerRequestInstallMissingPluginsCallbackFunction&& function)
{
return adoptRef(*new MediaPlayerRequestInstallMissingPluginsCallback(WTFMove(function)));
}
void invalidate()
{
m_function = nullptr;
}
void complete(uint32_t result)
{
if (!m_function)
return;
m_function(result, *this);
m_function = nullptr;
}
private:
MediaPlayerRequestInstallMissingPluginsCallback(MediaPlayerRequestInstallMissingPluginsCallbackFunction&& function)
: m_function(WTFMove(function))
{
}
MediaPlayerRequestInstallMissingPluginsCallbackFunction m_function;
};
}
#endif // ENABLE(VIDEO) && USE(GSTREAMER)
#endif // MediaPlayerRequestInstallMissingPluginsCallback_h