Line data Source code
1 : /* THIS FILE IS AUTOGENERATED FROM MediaTrackConstraintSet.webidl BY Codegen.py - DO NOT EDIT */
2 :
3 : #ifndef mozilla_dom_MediaTrackConstraintSetBinding_h
4 : #define mozilla_dom_MediaTrackConstraintSetBinding_h
5 :
6 : #include "js/RootingAPI.h"
7 : #include "jspubtd.h"
8 : #include "mozilla/ErrorResult.h"
9 : #include "mozilla/dom/BindingDeclarations.h"
10 : #include "mozilla/dom/Nullable.h"
11 : #include "mozilla/dom/UnionTypes.h"
12 :
13 : namespace mozilla {
14 : namespace dom {
15 :
16 : struct ConstrainBooleanParametersAtoms;
17 : struct ConstrainDOMStringParametersAtoms;
18 : struct ConstrainDoubleRangeAtoms;
19 : struct ConstrainLongRangeAtoms;
20 : struct NativePropertyHooks;
21 : class OwningStringOrStringSequence;
22 : class ProtoAndIfaceCache;
23 : class StringOrStringSequence;
24 :
25 : } // namespace dom
26 : } // namespace mozilla
27 :
28 : namespace mozilla {
29 : namespace dom {
30 :
31 0 : struct ConstrainBooleanParameters : public DictionaryBase
32 : {
33 : MOZ_INIT_OUTSIDE_CTOR Optional<bool> mExact;
34 : MOZ_INIT_OUTSIDE_CTOR Optional<bool> mIdeal;
35 :
36 : ConstrainBooleanParameters();
37 :
38 : explicit inline ConstrainBooleanParameters(const FastDictionaryInitializer& )
39 : {
40 : // Do nothing here; this is used by our "Fast" subclass
41 : }
42 :
43 : explicit inline ConstrainBooleanParameters(const ConstrainBooleanParameters& aOther)
44 : {
45 : *this = aOther;
46 : }
47 :
48 : bool
49 : Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
50 :
51 : bool
52 : Init(const nsAString& aJSON);
53 :
54 : bool
55 : ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
56 :
57 : bool
58 : ToJSON(nsAString& aJSON) const;
59 :
60 : void
61 : TraceDictionary(JSTracer* trc);
62 :
63 : ConstrainBooleanParameters&
64 : operator=(const ConstrainBooleanParameters& aOther);
65 :
66 : private:
67 : static bool
68 : InitIds(JSContext* cx, ConstrainBooleanParametersAtoms* atomsCache);
69 : };
70 :
71 : namespace binding_detail {
72 : struct FastConstrainBooleanParameters : public ConstrainBooleanParameters
73 : {
74 : inline FastConstrainBooleanParameters()
75 : : ConstrainBooleanParameters(FastDictionaryInitializer())
76 : {
77 : // Doesn't matter what int we pass to the parent constructor
78 : }
79 : };
80 : } // namespace binding_detail
81 :
82 :
83 0 : struct ConstrainDOMStringParameters : public DictionaryBase
84 : {
85 : MOZ_INIT_OUTSIDE_CTOR Optional<OwningStringOrStringSequence> mExact;
86 : MOZ_INIT_OUTSIDE_CTOR Optional<OwningStringOrStringSequence> mIdeal;
87 :
88 : ConstrainDOMStringParameters();
89 :
90 : explicit inline ConstrainDOMStringParameters(const FastDictionaryInitializer& )
91 : {
92 : // Do nothing here; this is used by our "Fast" subclass
93 : }
94 :
95 : explicit inline ConstrainDOMStringParameters(const ConstrainDOMStringParameters& aOther)
96 : {
97 : *this = aOther;
98 : }
99 :
100 : bool
101 : Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
102 :
103 : bool
104 : Init(const nsAString& aJSON);
105 :
106 : bool
107 : ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
108 :
109 : bool
110 : ToJSON(nsAString& aJSON) const;
111 :
112 : void
113 : TraceDictionary(JSTracer* trc);
114 :
115 : ConstrainDOMStringParameters&
116 : operator=(const ConstrainDOMStringParameters& aOther);
117 :
118 : private:
119 : static bool
120 : InitIds(JSContext* cx, ConstrainDOMStringParametersAtoms* atomsCache);
121 : };
122 :
123 : namespace binding_detail {
124 : struct FastConstrainDOMStringParameters : public ConstrainDOMStringParameters
125 : {
126 : inline FastConstrainDOMStringParameters()
127 : : ConstrainDOMStringParameters(FastDictionaryInitializer())
128 : {
129 : // Doesn't matter what int we pass to the parent constructor
130 : }
131 : };
132 : } // namespace binding_detail
133 :
134 :
135 0 : struct ConstrainDoubleRange : public DictionaryBase
136 : {
137 : MOZ_INIT_OUTSIDE_CTOR Optional<double> mExact;
138 : MOZ_INIT_OUTSIDE_CTOR Optional<double> mIdeal;
139 : MOZ_INIT_OUTSIDE_CTOR Optional<double> mMax;
140 : MOZ_INIT_OUTSIDE_CTOR Optional<double> mMin;
141 :
142 : ConstrainDoubleRange();
143 :
144 : explicit inline ConstrainDoubleRange(const FastDictionaryInitializer& )
145 : {
146 : // Do nothing here; this is used by our "Fast" subclass
147 : }
148 :
149 : explicit inline ConstrainDoubleRange(const ConstrainDoubleRange& aOther)
150 : {
151 : *this = aOther;
152 : }
153 :
154 : bool
155 : Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
156 :
157 : bool
158 : Init(const nsAString& aJSON);
159 :
160 : bool
161 : ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
162 :
163 : bool
164 : ToJSON(nsAString& aJSON) const;
165 :
166 : void
167 : TraceDictionary(JSTracer* trc);
168 :
169 : ConstrainDoubleRange&
170 : operator=(const ConstrainDoubleRange& aOther);
171 :
172 : private:
173 : static bool
174 : InitIds(JSContext* cx, ConstrainDoubleRangeAtoms* atomsCache);
175 : };
176 :
177 : namespace binding_detail {
178 : struct FastConstrainDoubleRange : public ConstrainDoubleRange
179 : {
180 : inline FastConstrainDoubleRange()
181 : : ConstrainDoubleRange(FastDictionaryInitializer())
182 : {
183 : // Doesn't matter what int we pass to the parent constructor
184 : }
185 : };
186 : } // namespace binding_detail
187 :
188 :
189 0 : struct ConstrainLongRange : public DictionaryBase
190 : {
191 : MOZ_INIT_OUTSIDE_CTOR Optional<int32_t> mExact;
192 : MOZ_INIT_OUTSIDE_CTOR Optional<int32_t> mIdeal;
193 : MOZ_INIT_OUTSIDE_CTOR Optional<int32_t> mMax;
194 : MOZ_INIT_OUTSIDE_CTOR Optional<int32_t> mMin;
195 :
196 : ConstrainLongRange();
197 :
198 : explicit inline ConstrainLongRange(const FastDictionaryInitializer& )
199 : {
200 : // Do nothing here; this is used by our "Fast" subclass
201 : }
202 :
203 : explicit inline ConstrainLongRange(const ConstrainLongRange& aOther)
204 : {
205 : *this = aOther;
206 : }
207 :
208 : bool
209 : Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
210 :
211 : bool
212 : Init(const nsAString& aJSON);
213 :
214 : bool
215 : ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
216 :
217 : bool
218 : ToJSON(nsAString& aJSON) const;
219 :
220 : void
221 : TraceDictionary(JSTracer* trc);
222 :
223 : ConstrainLongRange&
224 : operator=(const ConstrainLongRange& aOther);
225 :
226 : private:
227 : static bool
228 : InitIds(JSContext* cx, ConstrainLongRangeAtoms* atomsCache);
229 : };
230 :
231 : namespace binding_detail {
232 : struct FastConstrainLongRange : public ConstrainLongRange
233 : {
234 : inline FastConstrainLongRange()
235 : : ConstrainLongRange(FastDictionaryInitializer())
236 : {
237 : // Doesn't matter what int we pass to the parent constructor
238 : }
239 : };
240 : } // namespace binding_detail
241 :
242 :
243 : } // namespace dom
244 : } // namespace mozilla
245 :
246 : #endif // mozilla_dom_MediaTrackConstraintSetBinding_h
|