/* * Copyright 2017 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #ifndef SDK_ANDROID_SRC_JNI_PC_SDP_OBSERVER_H_ #define SDK_ANDROID_SRC_JNI_PC_SDP_OBSERVER_H_ #include #include #include "api/peer_connection_interface.h" #include "sdk/android/src/jni/jni_helpers.h" #include "sdk/android/src/jni/pc/session_description.h" #include "sdk/media_constraints.h" namespace webrtc { namespace jni { class CreateSdpObserverJni : public CreateSessionDescriptionObserver { public: CreateSdpObserverJni(JNIEnv* env, const JavaRef& j_observer, std::unique_ptr constraints); ~CreateSdpObserverJni() override; MediaConstraints* constraints() { return constraints_.get(); } void OnSuccess(SessionDescriptionInterface* desc) override; void OnFailure(RTCError error) override; private: const ScopedJavaGlobalRef j_observer_global_; std::unique_ptr constraints_; }; class SetSdpObserverJni : public SetSessionDescriptionObserver { public: SetSdpObserverJni(JNIEnv* env, const JavaRef& j_observer, std::unique_ptr constraints); ~SetSdpObserverJni() override; MediaConstraints* constraints() { return constraints_.get(); } void OnSuccess() override; void OnFailure(RTCError error) override; private: const ScopedJavaGlobalRef j_observer_global_; std::unique_ptr constraints_; }; } // namespace jni } // namespace webrtc #endif // SDK_ANDROID_SRC_JNI_PC_SDP_OBSERVER_H_