// 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 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>)
};

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