1 /* 2 * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #ifndef SDK_ANDROID_SRC_JNI_PC_STATS_OBSERVER_H_ 12 #define SDK_ANDROID_SRC_JNI_PC_STATS_OBSERVER_H_ 13 14 #include "api/peer_connection_interface.h" 15 #include "sdk/android/src/jni/jni_helpers.h" 16 17 namespace webrtc { 18 namespace jni { 19 20 // Adapter for a Java StatsObserver presenting a C++ StatsObserver and 21 // dispatching the callback from C++ back to Java. 22 class StatsObserverJni : public StatsObserver { 23 public: 24 StatsObserverJni(JNIEnv* jni, const JavaRef<jobject>& j_observer); 25 ~StatsObserverJni() override; 26 27 void OnComplete(const StatsReports& reports) override; 28 29 private: 30 const ScopedJavaGlobalRef<jobject> j_observer_global_; 31 }; 32 33 } // namespace jni 34 } // namespace webrtc 35 36 #endif // SDK_ANDROID_SRC_JNI_PC_STATS_OBSERVER_H_ 37