Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / public / platform / WebRTCOfferOptions.h
blobd9559e84685b87871054d552988a397cfe4a1dfd
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
8 #include "WebCommon.h"
9 #include "WebNonCopyable.h"
10 #include "WebPrivatePtr.h"
12 namespace blink {
14 class RTCOfferOptions;
16 class WebRTCOfferOptions {
17 public:
18 WebRTCOfferOptions() { }
19 WebRTCOfferOptions(const WebRTCOfferOptions& other) { assign(other); }
20 ~WebRTCOfferOptions() { reset(); }
22 WebRTCOfferOptions& operator=(const WebRTCOfferOptions& other)
24 assign(other);
25 return *this;
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;
38 #if INSIDE_BLINK
39 BLINK_PLATFORM_EXPORT WebRTCOfferOptions(RTCOfferOptions*);
40 #endif
42 private:
43 WebPrivatePtr<RTCOfferOptions> m_private;
46 } // namespace blink
48 #endif // WebRTCOfferOptions_h