OLD | NEW |
---|---|
1 {%- set namespace_as_string = namespace|replace(".","::") %} | 1 {%- set namespace_as_string = namespace|replace(".","::") %} |
2 {%- for method in interface.methods %} | 2 {%- for method in interface.methods %} |
3 var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}}; | 3 var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}}; |
4 {%- endfor %} | 4 {%- endfor %} |
5 | 5 |
6 function {{interface.name}}Proxy(receiver) { | 6 function {{interface.name}}Proxy(receiver) { |
7 this.receiver_ = receiver; | 7 this.receiver_ = receiver; |
8 } | 8 } |
9 | 9 |
10 {{interface.name}}Proxy.NAME_ = '{{namespace_as_string}}::{{interface.name}}'; | 10 {{interface.name}}Proxy.NAME_ = '{{namespace_as_string}}::{{interface.name}}'; |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
101 var message = builder.finish(); | 101 var message = builder.finish(); |
102 responder.accept(message); | 102 responder.accept(message); |
103 }); | 103 }); |
104 {%- endif %} | 104 {%- endif %} |
105 {%- endfor %} | 105 {%- endfor %} |
106 default: | 106 default: |
107 return Promise.reject(Error("Unhandled message: " + reader.messageName)); | 107 return Promise.reject(Error("Unhandled message: " + reader.messageName)); |
108 } | 108 } |
109 }; | 109 }; |
110 | 110 |
111 {#--- Validation #} | |
112 | |
113 function validate{{interface.name}}Request(messageValidator) { | |
Matt Perry
2014/08/13 19:31:01
I wonder if we should add an {{interface.name}} ob
hansmuller
2014/08/13 21:23:40
That seems reasonable. Currently we put interface
Matt Perry
2014/08/13 21:30:44
That's right. (Though maybe they need to be on the
hansmuller
2014/08/13 21:53:21
I assume so however I haven't seen a JS use case.
| |
114 {%- if interface.methods %} | |
Matt Perry
2014/08/13 19:31:01
nit: this would be slightly clearer to me if you i
hansmuller
2014/08/13 21:23:40
Good point, I'll swap them.
| |
115 var message = messageValidator.message; | |
116 var paramsClass = null; | |
117 switch (message.getName()) { | |
118 {%- for method in interface.methods %} | |
119 case k{{interface.name}}_{{method.name}}_Name: | |
120 {%- if method.response_parameters == None %} | |
121 if (!message.expectsResponse() && !message.isResponse()) | |
122 paramsClass = {{interface.name}}_{{method.name}}_Params; | |
123 {%- else %} | |
124 if (message.expectsResponse()) | |
Matt Perry
2014/08/13 19:31:01
is it not an error if the message expects a respon
hansmuller
2014/08/13 21:23:40
I believe that the previous clause covers the firs
| |
125 paramsClass = {{interface.name}}_{{method.name}}_Params; | |
126 {%- endif %} | |
127 break; | |
128 {%- endfor %} | |
129 } | |
130 if (paramsClass === null) | |
131 return validator.validationError.NONE; | |
132 return paramsClass.validate(messageValidator, codec.kMessageHeaderSize); | |
133 {%- else %} | |
134 return validator.validationError.NONE; | |
135 {%- endif %} | |
136 } | |
137 | |
138 function validate{{interface.name}}Response(messageValidator) { | |
139 {%- if interface|has_callbacks %} | |
Matt Perry
2014/08/13 19:31:01
ditto line 114
hansmuller
2014/08/13 21:23:40
Done.
| |
140 var message = messageValidator.message; | |
141 var paramsClass = null; | |
142 switch (message.getName()) { | |
143 {%- for method in interface.methods %} | |
144 {%- if method.response_parameters != None %} | |
145 case k{{interface.name}}_{{method.name}}_Name: | |
146 if (message.isResponse()) | |
147 paramsClass = {{interface.name}}_{{method.name}}_ResponseParams; | |
148 break; | |
149 {%- endif %} | |
150 {%- endfor %} | |
151 } | |
152 if (paramsClass === null) | |
153 return validator.validationError.NONE; | |
154 return paramsClass.validate(messageValidator, codec.kMessageWithRequestIDHea derSize); | |
155 {%- else %} | |
156 return validator.validationError.NONE; | |
157 {%- endif %} | |
158 } | |
159 | |
111 {#--- Enums #} | 160 {#--- Enums #} |
112 {% from "enum_definition.tmpl" import enum_def -%} | 161 {% from "enum_definition.tmpl" import enum_def -%} |
113 {% for enum in interface.enums %} | 162 {% for enum in interface.enums %} |
114 {{enum_def("%sProxy.%s"|format(interface.name, enum.name), enum, module)}} | 163 {{enum_def("%sProxy.%s"|format(interface.name, enum.name), enum, module)}} |
115 {{interface.name}}Stub.{{enum.name}} = {{interface.name}}Proxy.{{enum.name}}; | 164 {{interface.name}}Stub.{{enum.name}} = {{interface.name}}Proxy.{{enum.name}}; |
116 {%- endfor %} | 165 {%- endfor %} |
117 | 166 |
118 {#--- Constants. #} | 167 {#--- Constants. #} |
119 {% for constant in interface.constants %} | 168 {% for constant in interface.constants %} |
120 {{interface.name}}Proxy.{{constant.name}} = {{constant.value|expression_to_tex t}}; | 169 {{interface.name}}Proxy.{{constant.name}} = {{constant.value|expression_to_tex t}}; |
121 {{interface.name}}Stub.{{constant.name}} = {{interface.name}}Proxy.{{constant. name}}; | 170 {{interface.name}}Stub.{{constant.name}} = {{interface.name}}Proxy.{{constant. name}}; |
122 {% endfor %} | 171 {% endfor %} |
OLD | NEW |