// GENERATED CODE
// Generated by the Java program at /build/annotationProcessors at compile time
// from annotations on Java methods. To update, change the annotations on the
// corresponding Java methods and rerun the build. Manually updating this file
// will cause your build to fail.

#ifndef FennecJNINatives_h
#define FennecJNINatives_h

#include "FennecJNIWrappers.h"
#include "mozilla/jni/Natives.h"

namespace mozilla {
namespace java {

template<class Impl>
class ANRReporter::Natives : public mozilla::jni::NativeImpl<ANRReporter, Impl>
{
public:
    static const JNINativeMethod methods[3];
};

template<class Impl>
const JNINativeMethod ANRReporter::Natives<Impl>::methods[] = {

    mozilla::jni::MakeNativeMethod<ANRReporter::GetNativeStack_t>(
            mozilla::jni::NativeStub<ANRReporter::GetNativeStack_t, Impl>
            ::template Wrap<&Impl::GetNativeStack>),

    mozilla::jni::MakeNativeMethod<ANRReporter::ReleaseNativeStack_t>(
            mozilla::jni::NativeStub<ANRReporter::ReleaseNativeStack_t, Impl>
            ::template Wrap<&Impl::ReleaseNativeStack>),

    mozilla::jni::MakeNativeMethod<ANRReporter::RequestNativeStack_t>(
            mozilla::jni::NativeStub<ANRReporter::RequestNativeStack_t, Impl>
            ::template Wrap<&Impl::RequestNativeStack>)
};

template<class Impl>
class GeckoJavaSampler::Natives : public mozilla::jni::NativeImpl<GeckoJavaSampler, Impl>
{
public:
    static const JNINativeMethod methods[1];
};

template<class Impl>
const JNINativeMethod GeckoJavaSampler::Natives<Impl>::methods[] = {

    mozilla::jni::MakeNativeMethod<GeckoJavaSampler::GetProfilerTime_t>(
            mozilla::jni::NativeStub<GeckoJavaSampler::GetProfilerTime_t, Impl>
            ::template Wrap<&Impl::GetProfilerTime>)
};

template<class Impl>
class MemoryMonitor::Natives : public mozilla::jni::NativeImpl<MemoryMonitor, Impl>
{
public:
    static const JNINativeMethod methods[1];
};

template<class Impl>
const JNINativeMethod MemoryMonitor::Natives<Impl>::methods[] = {

    mozilla::jni::MakeNativeMethod<MemoryMonitor::DispatchMemoryPressure_t>(
            mozilla::jni::NativeStub<MemoryMonitor::DispatchMemoryPressure_t, Impl>
            ::template Wrap<&Impl::DispatchMemoryPressure>)
};

template<class Impl>
class PresentationMediaPlayerManager::Natives : public mozilla::jni::NativeImpl<PresentationMediaPlayerManager, Impl>
{
public:
    static const JNINativeMethod methods[3];
};

template<class Impl>
const JNINativeMethod PresentationMediaPlayerManager::Natives<Impl>::methods[] = {

    mozilla::jni::MakeNativeMethod<PresentationMediaPlayerManager::AddPresentationSurface_t>(
            mozilla::jni::NativeStub<PresentationMediaPlayerManager::AddPresentationSurface_t, Impl>
            ::template Wrap<&Impl::AddPresentationSurface>),

    mozilla::jni::MakeNativeMethod<PresentationMediaPlayerManager::InvalidateAndScheduleComposite_t>(
            mozilla::jni::NativeStub<PresentationMediaPlayerManager::InvalidateAndScheduleComposite_t, Impl>
            ::template Wrap<&Impl::InvalidateAndScheduleComposite>),

    mozilla::jni::MakeNativeMethod<PresentationMediaPlayerManager::RemovePresentationSurface_t>(
            mozilla::jni::NativeStub<PresentationMediaPlayerManager::RemovePresentationSurface_t, Impl>
            ::template Wrap<&Impl::RemovePresentationSurface>)
};

template<class Impl>
class ScreenManagerHelper::Natives : public mozilla::jni::NativeImpl<ScreenManagerHelper, Impl>
{
public:
    static const JNINativeMethod methods[2];
};

template<class Impl>
const JNINativeMethod ScreenManagerHelper::Natives<Impl>::methods[] = {

    mozilla::jni::MakeNativeMethod<ScreenManagerHelper::AddDisplay_t>(
            mozilla::jni::NativeStub<ScreenManagerHelper::AddDisplay_t, Impl>
            ::template Wrap<&Impl::AddDisplay>),

    mozilla::jni::MakeNativeMethod<ScreenManagerHelper::RemoveDisplay_t>(
            mozilla::jni::NativeStub<ScreenManagerHelper::RemoveDisplay_t, Impl>
            ::template Wrap<&Impl::RemoveDisplay>)
};

template<class Impl>
class Telemetry::Natives : public mozilla::jni::NativeImpl<Telemetry, Impl>
{
public:
    static const JNINativeMethod methods[5];
};

template<class Impl>
const JNINativeMethod Telemetry::Natives<Impl>::methods[] = {

    mozilla::jni::MakeNativeMethod<Telemetry::AddHistogram_t>(
            mozilla::jni::NativeStub<Telemetry::AddHistogram_t, Impl>
            ::template Wrap<&Impl::AddHistogram>),

    mozilla::jni::MakeNativeMethod<Telemetry::AddKeyedHistogram_t>(
            mozilla::jni::NativeStub<Telemetry::AddKeyedHistogram_t, Impl>
            ::template Wrap<&Impl::AddKeyedHistogram>),

    mozilla::jni::MakeNativeMethod<Telemetry::AddUIEvent_t>(
            mozilla::jni::NativeStub<Telemetry::AddUIEvent_t, Impl>
            ::template Wrap<&Impl::AddUIEvent>),

    mozilla::jni::MakeNativeMethod<Telemetry::StartUISession_t>(
            mozilla::jni::NativeStub<Telemetry::StartUISession_t, Impl>
            ::template Wrap<&Impl::StartUISession>),

    mozilla::jni::MakeNativeMethod<Telemetry::StopUISession_t>(
            mozilla::jni::NativeStub<Telemetry::StopUISession_t, Impl>
            ::template Wrap<&Impl::StopUISession>)
};

template<class Impl>
class ThumbnailHelper::Natives : public mozilla::jni::NativeImpl<ThumbnailHelper, Impl>
{
public:
    static const JNINativeMethod methods[1];
};

template<class Impl>
const JNINativeMethod ThumbnailHelper::Natives<Impl>::methods[] = {

    mozilla::jni::MakeNativeMethod<ThumbnailHelper::RequestThumbnail_t>(
            mozilla::jni::NativeStub<ThumbnailHelper::RequestThumbnail_t, Impl>
            ::template Wrap<&Impl::RequestThumbnail>)
};

template<class Impl>
class ZoomedView::Natives : public mozilla::jni::NativeImpl<ZoomedView, Impl>
{
public:
    static const JNINativeMethod methods[1];
};

template<class Impl>
const JNINativeMethod ZoomedView::Natives<Impl>::methods[] = {

    mozilla::jni::MakeNativeMethod<ZoomedView::RequestZoomedViewData_t>(
            mozilla::jni::NativeStub<ZoomedView::RequestZoomedViewData_t, Impl>
            ::template Wrap<&Impl::RequestZoomedViewData>)
};

template<class Impl>
class CodecProxy::NativeCallbacks::Natives : public mozilla::jni::NativeImpl<NativeCallbacks, Impl>
{
public:
    static const JNINativeMethod methods[5];
};

template<class Impl>
const JNINativeMethod CodecProxy::NativeCallbacks::Natives<Impl>::methods[] = {

    mozilla::jni::MakeNativeMethod<CodecProxy::NativeCallbacks::DisposeNative_t>(
            mozilla::jni::NativeStub<CodecProxy::NativeCallbacks::DisposeNative_t, Impl>
            ::template Wrap<&Impl::DisposeNative>),

    mozilla::jni::MakeNativeMethod<CodecProxy::NativeCallbacks::OnError_t>(
            mozilla::jni::NativeStub<CodecProxy::NativeCallbacks::OnError_t, Impl>
            ::template Wrap<&Impl::OnError>),

    mozilla::jni::MakeNativeMethod<CodecProxy::NativeCallbacks::OnInputExhausted_t>(
            mozilla::jni::NativeStub<CodecProxy::NativeCallbacks::OnInputExhausted_t, Impl>
            ::template Wrap<&Impl::OnInputExhausted>),

    mozilla::jni::MakeNativeMethod<CodecProxy::NativeCallbacks::OnOutput_t>(
            mozilla::jni::NativeStub<CodecProxy::NativeCallbacks::OnOutput_t, Impl>
            ::template Wrap<&Impl::OnOutput>),

    mozilla::jni::MakeNativeMethod<CodecProxy::NativeCallbacks::OnOutputFormatChanged_t>(
            mozilla::jni::NativeStub<CodecProxy::NativeCallbacks::OnOutputFormatChanged_t, Impl>
            ::template Wrap<&Impl::OnOutputFormatChanged>)
};

template<class Impl>
class MediaDrmProxy::NativeMediaDrmProxyCallbacks::Natives : public mozilla::jni::NativeImpl<NativeMediaDrmProxyCallbacks, Impl>
{
public:
    static const JNINativeMethod methods[7];
};

template<class Impl>
const JNINativeMethod MediaDrmProxy::NativeMediaDrmProxyCallbacks::Natives<Impl>::methods[] = {

    mozilla::jni::MakeNativeMethod<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnRejectPromise_t>(
            mozilla::jni::NativeStub<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnRejectPromise_t, Impl>
            ::template Wrap<&Impl::OnRejectPromise>),

    mozilla::jni::MakeNativeMethod<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnSessionBatchedKeyChanged_t>(
            mozilla::jni::NativeStub<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnSessionBatchedKeyChanged_t, Impl>
            ::template Wrap<&Impl::OnSessionBatchedKeyChanged>),

    mozilla::jni::MakeNativeMethod<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnSessionClosed_t>(
            mozilla::jni::NativeStub<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnSessionClosed_t, Impl>
            ::template Wrap<&Impl::OnSessionClosed>),

    mozilla::jni::MakeNativeMethod<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnSessionCreated_t>(
            mozilla::jni::NativeStub<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnSessionCreated_t, Impl>
            ::template Wrap<&Impl::OnSessionCreated>),

    mozilla::jni::MakeNativeMethod<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnSessionError_t>(
            mozilla::jni::NativeStub<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnSessionError_t, Impl>
            ::template Wrap<&Impl::OnSessionError>),

    mozilla::jni::MakeNativeMethod<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnSessionMessage_t>(
            mozilla::jni::NativeStub<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnSessionMessage_t, Impl>
            ::template Wrap<&Impl::OnSessionMessage>),

    mozilla::jni::MakeNativeMethod<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnSessionUpdated_t>(
            mozilla::jni::NativeStub<MediaDrmProxy::NativeMediaDrmProxyCallbacks::OnSessionUpdated_t, Impl>
            ::template Wrap<&Impl::OnSessionUpdated>)
};

} /* java */
} /* mozilla */
#endif // FennecJNINatives_h
