Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(750)

Side by Side Diff: mojo/public/cpp/bindings/gen/sample_service.mojom.h

Issue 293393009: For reference only. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: with more idiomatic C++ bindings Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | mojo/public/cpp/bindings/gen/sample_service.mojom.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2013 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.
4
5 #ifndef MOJO_PUBLIC_INTERFACES_BINDINGS_TESTS_SAMPLE_SERVICE_MOJOM_H_
6 #define MOJO_PUBLIC_INTERFACES_BINDINGS_TESTS_SAMPLE_SERVICE_MOJOM_H_
7
8 #include "mojo/public/cpp/bindings/array.h"
9 #include "mojo/public/cpp/bindings/callback.h"
10 #include "mojo/public/cpp/bindings/interface_impl.h"
11 #include "mojo/public/cpp/bindings/interface_ptr.h"
12 #include "mojo/public/cpp/bindings/message_filter.h"
13 #include "mojo/public/cpp/bindings/no_interface.h"
14 #include "mojo/public/cpp/bindings/string.h"
15 #include "mojo/public/cpp/bindings/struct_ptr.h"
16 #include "mojo/public/interfaces/bindings/tests/sample_service.mojom-internal.h"
17 #include "mojo/public/interfaces/bindings/tests/sample_import.mojom.h"
18 #include "mojo/public/interfaces/bindings/tests/sample_import2.mojom.h"
19 namespace sample {
20
21 extern const uint8_t kThree;
22
23 class Service;
24 typedef mojo::InterfacePtr<Service> ServicePtr;
25
26 class ServiceClient;
27 typedef mojo::InterfacePtr<ServiceClient> ServiceClientPtr;
28
29 class Port;
30 typedef mojo::InterfacePtr<Port> PortPtr;
31
32 class Bar;
33
34 typedef mojo::InlinedStructPtr<Bar> BarPtr;
35
36 class Bar {
37 public:
38 typedef internal::Bar_Data Data_;
39 enum Type {
40 TYPE_VERTICAL = 1<<0,
41 TYPE_HORIZONTAL = (1<<1)+0,
42 TYPE_BOTH = Bar::TYPE_VERTICAL|Bar::TYPE_HORIZONTAL,
43 TYPE_INVALID,
44 };
45 static BarPtr New();
46
47 template <typename U>
48 static BarPtr From(const U& u) {
49 return mojo::TypeConverter<BarPtr, U>::ConvertFrom(u);
50 }
51
52 Bar();
53 ~Bar();
54
55 uint8_t alpha;
56 uint8_t beta;
57 uint8_t gamma;
58 Bar::Type type;
59 };
60
61
62
63 class Foo;
64
65 typedef mojo::StructPtr<Foo> FooPtr;
66
67
68 class DefaultsTestInner;
69
70 typedef mojo::InlinedStructPtr<DefaultsTestInner> DefaultsTestInnerPtr;
71
72 class DefaultsTestInner {
73 public:
74 typedef internal::DefaultsTestInner_Data Data_;
75 static DefaultsTestInnerPtr New();
76
77 template <typename U>
78 static DefaultsTestInnerPtr From(const U& u) {
79 return mojo::TypeConverter<DefaultsTestInnerPtr, U>::ConvertFrom(u);
80 }
81
82 DefaultsTestInner();
83 ~DefaultsTestInner();
84
85 int32_t x;
86 };
87
88
89
90 class DefaultsTest;
91
92 typedef mojo::StructPtr<DefaultsTest> DefaultsTestPtr;
93
94
95 class StructWithHoleV1;
96
97 typedef mojo::InlinedStructPtr<StructWithHoleV1> StructWithHoleV1Ptr;
98
99 class StructWithHoleV1 {
100 public:
101 typedef internal::StructWithHoleV1_Data Data_;
102 static StructWithHoleV1Ptr New();
103
104 template <typename U>
105 static StructWithHoleV1Ptr From(const U& u) {
106 return mojo::TypeConverter<StructWithHoleV1Ptr, U>::ConvertFrom(u);
107 }
108
109 StructWithHoleV1();
110 ~StructWithHoleV1();
111
112 int32_t v1;
113 int64_t v2;
114 };
115
116
117
118 class StructWithHoleV2;
119
120 typedef mojo::InlinedStructPtr<StructWithHoleV2> StructWithHoleV2Ptr;
121
122 class StructWithHoleV2 {
123 public:
124 typedef internal::StructWithHoleV2_Data Data_;
125 static StructWithHoleV2Ptr New();
126
127 template <typename U>
128 static StructWithHoleV2Ptr From(const U& u) {
129 return mojo::TypeConverter<StructWithHoleV2Ptr, U>::ConvertFrom(u);
130 }
131
132 StructWithHoleV2();
133 ~StructWithHoleV2();
134
135 int32_t v1;
136 int64_t v2;
137 int32_t v3;
qsr 2014/05/27 07:00:46 I might be missing something obvious, but shouldn'
darin (slow to review) 2014/05/27 18:01:23 These structs do not need to be packed. They are j
138 };
139
140
141
142
143
144
145
146 class Foo {
147 public:
148 typedef internal::Foo_Data Data_;
149 static const char* kFooby;
150 static FooPtr New();
151
152 template <typename U>
153 static FooPtr From(const U& u) {
154 return mojo::TypeConverter<FooPtr, U>::ConvertFrom(u);
155 }
156
157 Foo();
158 ~Foo();
159
160 mojo::String name;
161 int32_t x;
162 int32_t y;
163 bool a;
164 bool b;
165 bool c;
166 BarPtr bar;
167 mojo::Array<BarPtr> extra_bars;
168 mojo::Array<uint8_t> data;
169 mojo::ScopedMessagePipeHandle source;
170 mojo::Array<mojo::ScopedDataPipeConsumerHandle> input_streams;
171 mojo::Array<mojo::ScopedDataPipeProducerHandle> output_streams;
172 mojo::Array<mojo::Array<bool> > array_of_array_of_bools;
173 mojo::Array<mojo::Array<mojo::Array<mojo::String> > > multi_array_of_strings;
174 };
175
176
177
178
179
180 class DefaultsTest {
181 public:
182 typedef internal::DefaultsTest_Data Data_;
183 static DefaultsTestPtr New();
184
185 template <typename U>
186 static DefaultsTestPtr From(const U& u) {
187 return mojo::TypeConverter<DefaultsTestPtr, U>::ConvertFrom(u);
188 }
189
190 DefaultsTest();
191 ~DefaultsTest();
192
193 int8_t a0;
194 uint8_t a1;
195 int16_t a2;
196 uint16_t a3;
197 int32_t a4;
198 uint32_t a5;
199 int64_t a6;
200 uint64_t a7;
201 int32_t a8;
202 int32_t a9;
203 int32_t a10;
204 bool a11;
205 bool a12;
206 float a13;
207 double a14;
208 double a15;
209 double a16;
210 double a17;
211 DefaultsTestInnerPtr a18;
212 mojo::Array<uint8_t> a19;
213 mojo::String a20;
214 };
215
216
217
218
219
220 class ServiceProxy;
221 class ServiceStub;
222
223 class ServiceRequestValidator;
224
225 class ServiceClient;
226
227
228 class Service {
229 public:
230 typedef ServiceProxy Proxy_;
231 typedef ServiceStub Stub_;
232
233 typedef ServiceRequestValidator RequestValidator_;
234 typedef mojo::PassThroughFilter ResponseValidator_;
235
236 typedef ServiceClient Client;
237
238 static const uint8_t kFavoriteBaz;
239
240 enum BazOptions {
241 BAZ_REGULAR = 0,
242 BAZ_EXTRA,
243 };
244 virtual ~Service() {}
245 virtual void Frobinate(FooPtr foo, Service::BazOptions baz, PortPtr port) = 0;
246 };
247
248
249 class ServiceClientProxy;
250 class ServiceClientStub;
251
252 class ServiceClientRequestValidator;
253
254
255 class ServiceClient {
256 public:
257 typedef ServiceClientProxy Proxy_;
258 typedef ServiceClientStub Stub_;
259
260 typedef ServiceClientRequestValidator RequestValidator_;
261 typedef mojo::PassThroughFilter ResponseValidator_;
262
263 typedef mojo::NoInterface Client;
264
265 virtual ~ServiceClient() {}
266 virtual void DidFrobinate(int32_t result) = 0;
267 };
268
269
270 class PortProxy;
271 class PortStub;
272
273 class PortRequestValidator;
274
275
276 class Port {
277 public:
278 typedef PortProxy Proxy_;
279 typedef PortStub Stub_;
280
281 typedef PortRequestValidator RequestValidator_;
282 typedef mojo::PassThroughFilter ResponseValidator_;
283
284 typedef mojo::NoInterface Client;
285
286 virtual ~Port() {}
287 virtual void PostMessage(const mojo::String& message_text, PortPtr port) = 0;
288 };
289
290
291 class ServiceProxy : public Service {
292 public:
293 explicit ServiceProxy(mojo::MessageReceiver* receiver);
294 virtual void Frobinate(
295 FooPtr foo, Service::BazOptions baz, PortPtr port
296 ) MOJO_OVERRIDE;
297
298 private:
299 mojo::MessageReceiver* receiver_;
300 };
301
302
303 class ServiceClientProxy : public ServiceClient {
304 public:
305 explicit ServiceClientProxy(mojo::MessageReceiver* receiver);
306 virtual void DidFrobinate(
307 int32_t result
308 ) MOJO_OVERRIDE;
309
310 private:
311 mojo::MessageReceiver* receiver_;
312 };
313
314
315 class PortProxy : public Port {
316 public:
317 explicit PortProxy(mojo::MessageReceiver* receiver);
318 virtual void PostMessage(
319 const mojo::String& message_text, PortPtr port
320 ) MOJO_OVERRIDE;
321
322 private:
323 mojo::MessageReceiver* receiver_;
324 };
325
326 class ServiceStub : public mojo::MessageReceiver {
327 public:
328 ServiceStub();
329 void set_sink(Service* sink) { sink_ = sink; }
330 Service* sink() { return sink_; }
331
332 virtual bool Accept(mojo::Message* message) MOJO_OVERRIDE;
333 virtual bool AcceptWithResponder(mojo::Message* message,
334 mojo::MessageReceiver* responder)
335 MOJO_OVERRIDE;
336
337 private:
338 Service* sink_;
339 };
340
341 class ServiceClientStub : public mojo::MessageReceiver {
342 public:
343 ServiceClientStub();
344 void set_sink(ServiceClient* sink) { sink_ = sink; }
345 ServiceClient* sink() { return sink_; }
346
347 virtual bool Accept(mojo::Message* message) MOJO_OVERRIDE;
348 virtual bool AcceptWithResponder(mojo::Message* message,
349 mojo::MessageReceiver* responder)
350 MOJO_OVERRIDE;
351
352 private:
353 ServiceClient* sink_;
354 };
355
356 class PortStub : public mojo::MessageReceiver {
357 public:
358 PortStub();
359 void set_sink(Port* sink) { sink_ = sink; }
360 Port* sink() { return sink_; }
361
362 virtual bool Accept(mojo::Message* message) MOJO_OVERRIDE;
363 virtual bool AcceptWithResponder(mojo::Message* message,
364 mojo::MessageReceiver* responder)
365 MOJO_OVERRIDE;
366
367 private:
368 Port* sink_;
369 };
370
371 class ServiceRequestValidator : public mojo::MessageFilter {
372 public:
373 explicit ServiceRequestValidator(mojo::MessageReceiver* sink = NULL);
374
375 virtual bool Accept(mojo::Message* message) MOJO_OVERRIDE;
376 };
377
378 class ServiceClientRequestValidator : public mojo::MessageFilter {
379 public:
380 explicit ServiceClientRequestValidator(mojo::MessageReceiver* sink = NULL);
381
382 virtual bool Accept(mojo::Message* message) MOJO_OVERRIDE;
383 };
384
385 class PortRequestValidator : public mojo::MessageFilter {
386 public:
387 explicit PortRequestValidator(mojo::MessageReceiver* sink = NULL);
388
389 virtual bool Accept(mojo::Message* message) MOJO_OVERRIDE;
390 };
391
392
393 size_t GetSerializedSize_(const BarPtr& input);
394 void Serialize_(BarPtr input, mojo::internal::Buffer* buffer,
395 internal::Bar_Data** output);
396 void Deserialize_(internal::Bar_Data* input,
397 BarPtr* output);
398
399 size_t GetSerializedSize_(const FooPtr& input);
400 void Serialize_(FooPtr input, mojo::internal::Buffer* buffer,
401 internal::Foo_Data** output);
402 void Deserialize_(internal::Foo_Data* input,
403 FooPtr* output);
404
405 size_t GetSerializedSize_(const DefaultsTestInnerPtr& input);
406 void Serialize_(DefaultsTestInnerPtr input, mojo::internal::Buffer* buffer,
407 internal::DefaultsTestInner_Data** output);
408 void Deserialize_(internal::DefaultsTestInner_Data* input,
409 DefaultsTestInnerPtr* output);
410
411 size_t GetSerializedSize_(const DefaultsTestPtr& input);
412 void Serialize_(DefaultsTestPtr input, mojo::internal::Buffer* buffer,
413 internal::DefaultsTest_Data** output);
414 void Deserialize_(internal::DefaultsTest_Data* input,
415 DefaultsTestPtr* output);
416
417 size_t GetSerializedSize_(const StructWithHoleV1Ptr& input);
418 void Serialize_(StructWithHoleV1Ptr input, mojo::internal::Buffer* buffer,
419 internal::StructWithHoleV1_Data** output);
420 void Deserialize_(internal::StructWithHoleV1_Data* input,
421 StructWithHoleV1Ptr* output);
422
423 size_t GetSerializedSize_(const StructWithHoleV2Ptr& input);
424 void Serialize_(StructWithHoleV2Ptr input, mojo::internal::Buffer* buffer,
425 internal::StructWithHoleV2_Data** output);
426 void Deserialize_(internal::StructWithHoleV2_Data* input,
427 StructWithHoleV2Ptr* output);
428
429 } // namespace sample
430
431 #endif // MOJO_PUBLIC_INTERFACES_BINDINGS_TESTS_SAMPLE_SERVICE_MOJOM_H_
OLDNEW
« no previous file with comments | « no previous file | mojo/public/cpp/bindings/gen/sample_service.mojom.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698