1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef WebRTCOfferOptions_h
6 #define WebRTCOfferOptions_h
9 #include "WebNonCopyable.h"
10 #include "WebPrivatePtr.h"
14 class RTCOfferOptions;
16 class WebRTCOfferOptions {
18 WebRTCOfferOptions() { }
19 WebRTCOfferOptions(const WebRTCOfferOptions& other) { assign(other); }
20 ~WebRTCOfferOptions() { reset(); }
22 WebRTCOfferOptions& operator=(const WebRTCOfferOptions& other)
28 BLINK_PLATFORM_EXPORT void assign(const WebRTCOfferOptions&);
30 BLINK_PLATFORM_EXPORT void reset();
31 bool isNull() const { return m_private.isNull(); }
33 BLINK_PLATFORM_EXPORT int32_t offerToReceiveVideo() const;
34 BLINK_PLATFORM_EXPORT int32_t offerToReceiveAudio() const;
35 BLINK_PLATFORM_EXPORT bool voiceActivityDetection() const;
36 BLINK_PLATFORM_EXPORT bool iceRestart() const;
39 BLINK_PLATFORM_EXPORT WebRTCOfferOptions(const WTF::PassRefPtr<RTCOfferOptions>&);
43 WebPrivatePtr<RTCOfferOptions> m_private;
48 #endif // WebRTCOfferOptions_h