OLD | NEW |
1 {%- for method in interface.methods %} | 1 {%- for method in interface.methods %} |
2 var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}}; | 2 {%- set interface_method_identifier = interface.stylized_name ~ "_" ~ |
| 3 method.name|to_camel %} |
| 4 var k{{interface_method_identifier}}_Name = {{method.ordinal}}; |
3 {%- endfor %} | 5 {%- endfor %} |
4 | 6 |
5 function {{interface.name}}Ptr(handleOrPtrInfo) { | 7 function {{interface.stylized_name}}Ptr(handleOrPtrInfo) { |
6 this.ptr = new bindings.InterfacePtrController({{interface.name}}, | 8 this.ptr = new bindings.InterfacePtrController({{interface.stylized_name}}, |
7 handleOrPtrInfo); | 9 handleOrPtrInfo); |
8 } | 10 } |
9 | 11 |
10 function Associated{{interface.name}}Ptr(associatedInterfacePtrInfo) { | 12 function Associated{{interface.stylized_name}}Ptr( |
| 13 associatedInterfacePtrInfo) { |
11 this.ptr = new associatedBindings.AssociatedInterfacePtrController( | 14 this.ptr = new associatedBindings.AssociatedInterfacePtrController( |
12 {{interface.name}}, associatedInterfacePtrInfo); | 15 {{interface.stylized_name}}, associatedInterfacePtrInfo); |
13 } | 16 } |
14 | 17 |
15 Associated{{interface.name}}Ptr.prototype = | 18 Associated{{interface.stylized_name}}Ptr.prototype = |
16 Object.create({{interface.name}}Ptr.prototype); | 19 Object.create({{interface.stylized_name}}Ptr.prototype); |
17 Associated{{interface.name}}Ptr.prototype.constructor = | 20 Associated{{interface.stylized_name}}Ptr.prototype.constructor = |
18 Associated{{interface.name}}Ptr; | 21 Associated{{interface.stylized_name}}Ptr; |
19 | 22 |
20 function {{interface.name}}Proxy(receiver) { | 23 function {{interface.stylized_name}}Proxy(receiver) { |
21 this.receiver_ = receiver; | 24 this.receiver_ = receiver; |
22 } | 25 } |
23 | 26 |
24 {%- for method in interface.methods %} | 27 {%- for method in interface.methods %} |
25 {{interface.name}}Ptr.prototype.{{method.name|stylize_method}} = function() { | 28 {{interface.stylized_name}}Ptr.prototype.{{method.stylized_name}} = |
26 return {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} | 29 function() { |
| 30 return {{interface.stylized_name}}Proxy.prototype.{{method.stylized_name}} |
27 .apply(this.ptr.getProxy(), arguments); | 31 .apply(this.ptr.getProxy(), arguments); |
28 }; | 32 }; |
29 | 33 |
30 {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function( | 34 {{interface.stylized_name}}Proxy.prototype.{{method.stylized_name}} = |
| 35 function( |
31 {%- for parameter in method.parameters -%} | 36 {%- for parameter in method.parameters -%} |
32 {{parameter.name}}{% if not loop.last %}, {% endif %} | 37 {{parameter.stylized_name}}{% if not loop.last %}, {% endif %} |
33 {%- endfor -%} | 38 {%- endfor -%} |
34 ) { | 39 ) { |
35 var params = new {{interface.name}}_{{method.name}}_Params(); | 40 var params = new {{interface_method_identifier}}_Params(); |
36 {%- for parameter in method.parameters %} | 41 {%- for parameter in method.parameters %} |
37 params.{{parameter.name}} = {{parameter.name}}; | 42 params.{{parameter.stylized_name}} = {{parameter.stylized_name}}; |
38 {%- endfor %} | 43 {%- endfor %} |
39 | 44 |
40 {%- if method.response_parameters == None %} | 45 {%- if method.response_parameters == None %} |
41 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %} | 46 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %} |
42 var builder = new codec.MessageV2Builder( | 47 var builder = new codec.MessageV2Builder( |
43 k{{interface.name}}_{{method.name}}_Name, | 48 k{{interface_method_identifier}}_Name, |
44 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize)); | 49 codec.align( |
45 builder.setPayload({{interface.name}}_{{method.name}}_Params, params); | 50 {{interface_method_identifier}}_Params.encodedSize)); |
| 51 builder.setPayload({{interface_method_identifier}}_Params, params); |
46 {%- else %} | 52 {%- else %} |
47 var builder = new codec.MessageV0Builder( | 53 var builder = new codec.MessageV0Builder( |
48 k{{interface.name}}_{{method.name}}_Name, | 54 k{{interface_method_identifier}}_Name, |
49 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize)); | 55 codec.align({{interface_method_identifier}}_Params.encodedSize)); |
50 builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params); | 56 builder.encodeStruct({{interface_method_identifier}}_Params, params); |
51 {%- endif %} | 57 {%- endif %} |
52 var message = builder.finish(); | 58 var message = builder.finish(); |
53 this.receiver_.accept(message); | 59 this.receiver_.accept(message); |
54 {%- else %} | 60 {%- else %} |
55 return new Promise(function(resolve, reject) { | 61 return new Promise(function(resolve, reject) { |
56 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %} | 62 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %} |
57 var builder = new codec.MessageV2Builder( | 63 var builder = new codec.MessageV2Builder( |
58 k{{interface.name}}_{{method.name}}_Name, | 64 k{{interface_method_identifier}}_Name, |
59 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize), | 65 codec.align({{interface_method_identifier}}_Params.encodedSize), |
60 codec.kMessageExpectsResponse, 0); | 66 codec.kMessageExpectsResponse, 0); |
61 builder.setPayload({{interface.name}}_{{method.name}}_Params, params); | 67 builder.setPayload({{interface_method_identifier}}_Params, params); |
62 {%- else %} | 68 {%- else %} |
63 var builder = new codec.MessageV1Builder( | 69 var builder = new codec.MessageV1Builder( |
64 k{{interface.name}}_{{method.name}}_Name, | 70 k{{interface_method_identifier}}_Name, |
65 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize), | 71 codec.align({{interface_method_identifier}}_Params.encodedSize), |
66 codec.kMessageExpectsResponse, 0); | 72 codec.kMessageExpectsResponse, 0); |
67 builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params); | 73 builder.encodeStruct({{interface_method_identifier}}_Params, params); |
68 {%- endif %} | 74 {%- endif %} |
69 var message = builder.finish(); | 75 var message = builder.finish(); |
70 this.receiver_.acceptAndExpectResponse(message).then(function(message) { | 76 this.receiver_.acceptAndExpectResponse(message).then(function(message) { |
71 var reader = new codec.MessageReader(message); | 77 var reader = new codec.MessageReader(message); |
72 var responseParams = | 78 var responseParams = |
73 reader.decodeStruct({{interface.name}}_{{method.name}}_ResponseParam
s); | 79 reader.decodeStruct({{interface_method_identifier}}_ResponseParams); |
74 resolve(responseParams); | 80 resolve(responseParams); |
75 }).catch(function(result) { | 81 }).catch(function(result) { |
76 reject(Error("Connection error: " + result)); | 82 reject(Error("Connection error: " + result)); |
77 }); | 83 }); |
78 }.bind(this)); | 84 }.bind(this)); |
79 {%- endif %} | 85 {%- endif %} |
80 }; | 86 }; |
81 {%- endfor %} | 87 {%- endfor %} |
82 | 88 |
83 function {{interface.name}}Stub(delegate) { | 89 function {{interface.stylized_name}}Stub(delegate) { |
84 this.delegate_ = delegate; | 90 this.delegate_ = delegate; |
85 } | 91 } |
86 | 92 |
87 {%- for method in interface.methods %} | 93 {%- for method in interface.methods %} |
88 {%- set js_method_name = method.name|stylize_method %} | 94 {{interface.stylized_name}}Stub.prototype.{{method.stylized_name}} = |
89 {{interface.name}}Stub.prototype.{{js_method_name}} = function({{method.parame
ters|map(attribute='name')|join(', ')}}) { | 95 function( |
90 return this.delegate_ && this.delegate_.{{js_method_name}} && this.delegate_
.{{js_method_name}}({{method.parameters|map(attribute='name')|join(', ')}}); | 96 {{method.parameters|map(attribute='stylized_name')|join(', ')}}) { |
| 97 return this.delegate_ && this.delegate_.{{method.stylized_name}} && |
| 98 this.delegate_.{{method.stylized_name}}( |
| 99 {{method.parameters|map(attribute='stylized_name')|join(', ')}}); |
91 } | 100 } |
92 {%- endfor %} | 101 {%- endfor %} |
93 | 102 |
94 {{interface.name}}Stub.prototype.accept = function(message) { | 103 {{interface.stylized_name}}Stub.prototype.accept = function(message) { |
95 var reader = new codec.MessageReader(message); | 104 var reader = new codec.MessageReader(message); |
96 switch (reader.messageName) { | 105 switch (reader.messageName) { |
97 {%- for method in interface.methods %} | 106 {%- for method in interface.methods %} |
98 {%- if method.response_parameters == None %} | 107 {%- if method.response_parameters == None %} |
99 case k{{interface.name}}_{{method.name}}_Name: | 108 case k{{interface_method_identifier}}_Name: |
100 var params = reader.decodeStruct({{interface.name}}_{{method.name}}_Params
); | 109 var params = reader.decodeStruct({{interface_method_identifier}}_Params); |
101 this.{{method.name|stylize_method}}( | 110 this.{{method.stylized_name}}( |
102 {%- for parameter in method.parameters -%} | 111 {%- for parameter in method.parameters -%} |
103 params.{{parameter.name}}{% if not loop.last %}, {% endif %} | 112 params.{{parameter.stylized_name}}{% if not loop.last %}, {% endif %} |
104 {%- endfor %}); | 113 {%- endfor %}); |
105 return true; | 114 return true; |
106 {%- endif %} | 115 {%- endif %} |
107 {%- endfor %} | 116 {%- endfor %} |
108 default: | 117 default: |
109 return false; | 118 return false; |
110 } | 119 } |
111 }; | 120 }; |
112 | 121 |
113 {{interface.name}}Stub.prototype.acceptWithResponder = | 122 {{interface.stylized_name}}Stub.prototype.acceptWithResponder = |
114 function(message, responder) { | 123 function(message, responder) { |
115 var reader = new codec.MessageReader(message); | 124 var reader = new codec.MessageReader(message); |
116 switch (reader.messageName) { | 125 switch (reader.messageName) { |
117 {%- for method in interface.methods %} | 126 {%- for method in interface.methods %} |
118 {%- if method.response_parameters != None %} | 127 {%- if method.response_parameters != None %} |
119 case k{{interface.name}}_{{method.name}}_Name: | 128 case k{{interface_method_identifier}}_Name: |
120 var params = reader.decodeStruct({{interface.name}}_{{method.name}}_Params
); | 129 var params = reader.decodeStruct({{interface_method_identifier}}_Params); |
121 this.{{method.name|stylize_method}}( | 130 this.{{method.stylized_name}}( |
122 {%- for parameter in method.parameters -%} | 131 {%- for parameter in method.parameters -%} |
123 params.{{parameter.name}}{% if not loop.last %}, {% endif -%} | 132 params.{{parameter.stylized_name}}{% if not loop.last %}, {% endif -%} |
124 {%- endfor %}).then(function(response) { | 133 {%- endfor %}).then(function(response) { |
125 var responseParams = | 134 var responseParams = |
126 new {{interface.name}}_{{method.name}}_ResponseParams(); | 135 new {{interface_method_identifier}}_ResponseParams(); |
127 {%- for parameter in method.response_parameters %} | 136 {%- for parameter in method.response_parameters %} |
128 responseParams.{{parameter.name}} = response.{{parameter.name}}; | 137 responseParams.{{parameter.stylized_name}} = |
| 138 response.{{parameter.stylized_name}}; |
129 {%- endfor %} | 139 {%- endfor %} |
130 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %} | 140 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %} |
131 var builder = new codec.MessageV2Builder( | 141 var builder = new codec.MessageV2Builder( |
132 k{{interface.name}}_{{method.name}}_Name, | 142 k{{interface_method_identifier}}_Name, |
133 codec.align({{interface.name}}_{{method.name}}_ResponseParams | 143 codec.align({{interface_method_identifier}}_ResponseParams |
134 .encodedSize), | 144 .encodedSize), |
135 codec.kMessageIsResponse, reader.requestID); | 145 codec.kMessageIsResponse, reader.requestID); |
136 builder.setPayload({{interface.name}}_{{method.name}}_ResponseParams, | 146 builder.setPayload({{interface_method_identifier}}_ResponseParams, |
137 responseParams); | 147 responseParams); |
138 {%- else %} | 148 {%- else %} |
139 var builder = new codec.MessageV1Builder( | 149 var builder = new codec.MessageV1Builder( |
140 k{{interface.name}}_{{method.name}}_Name, | 150 k{{interface_method_identifier}}_Name, |
141 codec.align({{interface.name}}_{{method.name}}_ResponseParams.encode
dSize), | 151 codec.align({{interface_method_identifier}}_ResponseParams |
| 152 .encodedSize), |
142 codec.kMessageIsResponse, reader.requestID); | 153 codec.kMessageIsResponse, reader.requestID); |
143 builder.encodeStruct({{interface.name}}_{{method.name}}_ResponseParams, | 154 builder.encodeStruct({{interface_method_identifier}}_ResponseParams, |
144 responseParams); | 155 responseParams); |
145 {%- endif %} | 156 {%- endif %} |
146 var message = builder.finish(); | 157 var message = builder.finish(); |
147 responder.accept(message); | 158 responder.accept(message); |
148 }); | 159 }); |
149 return true; | 160 return true; |
150 {%- endif %} | 161 {%- endif %} |
151 {%- endfor %} | 162 {%- endfor %} |
152 default: | 163 default: |
153 return false; | 164 return false; |
154 } | 165 } |
155 }; | 166 }; |
156 | 167 |
157 {#--- Validation #} | 168 {#--- Validation #} |
158 | 169 |
159 function validate{{interface.name}}Request(messageValidator) { | 170 function validate{{interface.stylized_name}}Request(messageValidator) { |
160 {%- if not(interface.methods) %} | 171 {%- if not(interface.methods) %} |
161 return validator.validationError.NONE; | 172 return validator.validationError.NONE; |
162 {%- else %} | 173 {%- else %} |
163 var message = messageValidator.message; | 174 var message = messageValidator.message; |
164 var paramsClass = null; | 175 var paramsClass = null; |
165 switch (message.getName()) { | 176 switch (message.getName()) { |
166 {%- for method in interface.methods %} | 177 {%- for method in interface.methods %} |
167 case k{{interface.name}}_{{method.name}}_Name: | 178 case k{{interface_method_identifier}}_Name: |
168 {%- if method.response_parameters == None %} | 179 {%- if method.response_parameters == None %} |
169 if (!message.expectsResponse() && !message.isResponse()) | 180 if (!message.expectsResponse() && !message.isResponse()) |
170 paramsClass = {{interface.name}}_{{method.name}}_Params; | 181 paramsClass = {{interface_method_identifier}}_Params; |
171 {%- else %} | 182 {%- else %} |
172 if (message.expectsResponse()) | 183 if (message.expectsResponse()) |
173 paramsClass = {{interface.name}}_{{method.name}}_Params; | 184 paramsClass = {{interface_method_identifier}}_Params; |
174 {%- endif %} | 185 {%- endif %} |
175 break; | 186 break; |
176 {%- endfor %} | 187 {%- endfor %} |
177 } | 188 } |
178 if (paramsClass === null) | 189 if (paramsClass === null) |
179 return validator.validationError.NONE; | 190 return validator.validationError.NONE; |
180 return paramsClass.validate(messageValidator, messageValidator.message.getHe
aderNumBytes()); | 191 return paramsClass.validate(messageValidator, messageValidator.message.getHe
aderNumBytes()); |
181 {%- endif %} | 192 {%- endif %} |
182 } | 193 } |
183 | 194 |
184 function validate{{interface.name}}Response(messageValidator) { | 195 function validate{{interface.stylized_name}}Response(messageValidator) { |
185 {%- if not(interface|has_callbacks) %} | 196 {%- if not(interface|has_callbacks) %} |
186 return validator.validationError.NONE; | 197 return validator.validationError.NONE; |
187 {%- else %} | 198 {%- else %} |
188 var message = messageValidator.message; | 199 var message = messageValidator.message; |
189 var paramsClass = null; | 200 var paramsClass = null; |
190 switch (message.getName()) { | 201 switch (message.getName()) { |
191 {%- for method in interface.methods %} | 202 {%- for method in interface.methods %} |
192 {%- if method.response_parameters != None %} | 203 {%- if method.response_parameters != None %} |
193 case k{{interface.name}}_{{method.name}}_Name: | 204 case k{{interface_method_identifier}}_Name: |
194 if (message.isResponse()) | 205 if (message.isResponse()) |
195 paramsClass = {{interface.name}}_{{method.name}}_ResponseParams; | 206 paramsClass = {{interface_method_identifier}}_ResponseParams; |
196 break; | 207 break; |
197 {%- endif %} | 208 {%- endif %} |
198 {%- endfor %} | 209 {%- endfor %} |
199 } | 210 } |
200 if (paramsClass === null) | 211 if (paramsClass === null) |
201 return validator.validationError.NONE; | 212 return validator.validationError.NONE; |
202 return paramsClass.validate(messageValidator, messageValidator.message.getHe
aderNumBytes()); | 213 return paramsClass.validate(messageValidator, messageValidator.message.getHe
aderNumBytes()); |
203 {%- endif %} | 214 {%- endif %} |
204 } | 215 } |
205 | 216 |
206 var {{interface.name}} = { | 217 var {{interface.stylized_name}} = { |
207 name: '{{namespace|replace(".","::")}}::{{interface.name}}', | 218 name: '{{module.namespace|replace(".","::")}}::{{interface.name}}', |
208 kVersion: {{interface.version}}, | 219 kVersion: {{interface.version}}, |
209 ptrClass: {{interface.name}}Ptr, | 220 ptrClass: {{interface.stylized_name}}Ptr, |
210 proxyClass: {{interface.name}}Proxy, | 221 proxyClass: {{interface.stylized_name}}Proxy, |
211 stubClass: {{interface.name}}Stub, | 222 stubClass: {{interface.stylized_name}}Stub, |
212 validateRequest: validate{{interface.name}}Request, | 223 validateRequest: validate{{interface.stylized_name}}Request, |
213 {%- if interface|has_callbacks %} | 224 {%- if interface|has_callbacks %} |
214 validateResponse: validate{{interface.name}}Response, | 225 validateResponse: validate{{interface.stylized_name}}Response, |
215 {%- else %} | 226 {%- else %} |
216 validateResponse: null, | 227 validateResponse: null, |
217 {%- endif %} | 228 {%- endif %} |
218 }; | 229 }; |
219 {#--- Interface Constants #} | 230 {#--- Interface Constants #} |
220 {%- for constant in interface.constants %} | 231 {%- for constant in interface.constants %} |
221 {{interface.name}}.{{constant.name}} = {{constant.value|expression_to_text}}, | 232 {{interface.stylized_name}}.{{constant.stylized_name}} = |
| 233 {{constant.value|expression_to_text}}, |
222 {%- endfor %} | 234 {%- endfor %} |
223 {#--- Interface Enums #} | 235 {#--- Interface Enums #} |
224 {%- from "enum_definition.tmpl" import enum_def -%} | 236 {%- from "enum_definition.tmpl" import enum_def -%} |
225 {%- for enum in interface.enums %} | 237 {%- for enum in interface.enums %} |
226 {{ enum_def("%s.%s"|format(interface.name, enum.name), enum) }} | 238 {{ enum_def("%s.%s"|format(interface.stylized_name, enum.stylized_name), |
| 239 enum) }} |
227 {%- endfor %} | 240 {%- endfor %} |
228 {{interface.name}}Stub.prototype.validator = validate{{interface.name}}Request
; | 241 {{interface.stylized_name}}Stub.prototype.validator = |
| 242 validate{{interface.stylized_name}}Request; |
229 {%- if interface|has_callbacks %} | 243 {%- if interface|has_callbacks %} |
230 {{interface.name}}Proxy.prototype.validator = validate{{interface.name}}Respon
se; | 244 {{interface.stylized_name}}Proxy.prototype.validator = |
| 245 validate{{interface.stylized_name}}Response; |
231 {%- else %} | 246 {%- else %} |
232 {{interface.name}}Proxy.prototype.validator = null; | 247 {{interface.stylized_name}}Proxy.prototype.validator = null; |
233 {%- endif %} | 248 {%- endif %} |
OLD | NEW |