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

Side by Side Diff: mojo/public/bindings/generators/js_templates/interface_definition.tmpl

Issue 226263002: Mojo: Move mojo/public/bindings to mojo/public/tools/bindings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 6 years, 8 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
OLDNEW
(Empty)
1 {%- for method in interface.methods %}
2 var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}};
3 {%- endfor %}
4
5 function {{interface.name}}Proxy(receiver) {
6 this.receiver_ = receiver;
7 }
8
9 {%- for method in interface.methods %}
10 {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function(
11 {%- for parameter in method.parameters -%}
12 {{parameter.name}}{% if not loop.last %}, {% endif %}
13 {%- endfor -%}
14 {%- if method.response_parameters != None -%}
15 , closure
16 {%- endif -%}
17 ) {
18 var params = new {{interface.name}}_{{method.name}}_Params();
19 {%- for parameter in method.parameters %}
20 params.{{parameter.name}} = {{parameter.name}};
21 {%- endfor %}
22
23 {%- if method.response_parameters == None %}
24 var builder = new codec.MessageBuilder(
25 k{{interface.name}}_{{method.name}}_Name,
26 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize));
27 builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params);
28 var message = builder.finish();
29 this.receiver_.accept(message);
30 {%- else %}
31 var builder = new codec.MessageWithRequestIDBuilder(
32 k{{interface.name}}_{{method.name}}_Name,
33 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize),
34 codec.kMessageExpectsResponse, 0);
35 builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params);
36 var message = builder.finish();
37 this.receiver_.acceptWithResponder(message, { accept: function(message) {
38 var reader = new codec.MessageReader(message);
39 var responseParams =
40 reader.decodeStruct({{interface.name}}_{{method.name}}_ResponseParams) ;
41 closure(
42 {%- for parameter in method.response_parameters -%}
43 responseParams.{{parameter.name}}{% if not loop.last %}, {% endif %}
44 {%- endfor -%});
45 }});
46 {%- endif %}
47 };
48 {%- endfor %}
49
50 function {{interface.name}}Stub() {
51 }
52
53 {{interface.name}}Stub.prototype.accept = function(message) {
54 var reader = new codec.MessageReader(message);
55 switch (reader.messageName) {
56 {%- for method in interface.methods %}
57 {%- if method.response_parameters == None %}
58 case k{{interface.name}}_{{method.name}}_Name:
59 var params = reader.decodeStruct({{interface.name}}_{{method.name}}_Params );
60 this.{{method.name|stylize_method}}(
61 {%- for parameter in method.parameters -%}
62 params.{{parameter.name}}{% if not loop.last %}, {% endif %}
63 {%- endfor %});
64 return true;
65 {%- endif %}
66 {%- endfor %}
67 default:
68 return false;
69 }
70 };
71
72 {{interface.name}}Stub.prototype.acceptWithResponder =
73 function(message, responder) {
74 var reader = new codec.MessageReader(message);
75 switch (reader.messageName) {
76 {%- for method in interface.methods %}
77 {%- if method.response_parameters != None %}
78 case k{{interface.name}}_{{method.name}}_Name:
79 var params = reader.decodeStruct({{interface.name}}_{{method.name}}_Params );
80 this.{{method.name|stylize_method}}(
81 {%- for parameter in method.parameters -%}
82 params.{{parameter.name}},
83 {%- endfor %} function (
84 {%- for parameter in method.response_parameters -%}
85 {{parameter.name}}{% if not loop.last %}, {% endif -%}
86 {%- endfor -%}) {
87 var responseParams =
88 new {{interface.name}}_{{method.name}}_ResponseParams();
89 {%- for parameter in method.response_parameters %}
90 responseParams.{{parameter.name}} = {{parameter.name}};
91 {%- endfor %}
92 var builder = new codec.MessageWithRequestIDBuilder(
93 k{{interface.name}}_{{method.name}}_Name,
94 codec.align({{interface.name}}_{{method.name}}_ResponseParams.encode dSize),
95 codec.kMessageIsResponse, reader.requestID);
96 builder.encodeStruct({{interface.name}}_{{method.name}}_ResponseParams,
97 responseParams);
98 var message = builder.finish();
99 responder.accept(message);
100 });
101 return true;
102 {%- endif %}
103 {%- endfor %}
104 default:
105 return false;
106 }
107 };
108
109 {#--- Enums #}
110 {% from "enum_definition.tmpl" import enum_def -%}
111 {% for enum in interface.enums %}
112 {{enum_def("%sProxy.%s"|format(interface.name, enum.name), enum, module)}}
113 {{interface.name}}Stub.{{enum.name}} = {{interface.name}}Proxy.{{enum.name}};
114 {%- endfor %}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698