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 var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}}; |
3 {%- endfor %} | 3 {%- endfor %} |
4 | 4 |
5 function {{interface.name}}Proxy(receiver) { | 5 function {{interface.name}}Proxy(receiver) { |
6 this.receiver_ = receiver; | 6 this.receiver_ = receiver; |
7 } | 7 } |
8 | 8 |
9 {%- for method in interface.methods %} | 9 {%- for method in interface.methods %} |
10 {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function( | 10 {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function( |
11 {%- for parameter in method.parameters -%} | 11 {%- for parameter in method.parameters -%} |
12 {{parameter.name}}{% if not loop.last %}, {% endif %} | 12 {{parameter.name}}{% if not loop.last %}, {% endif %} |
13 {%- endfor -%} | 13 {%- endfor -%} |
14 {%- if method.response_parameters != None -%} | |
15 , closure | |
16 {%- endif -%} | |
17 ) { | 14 ) { |
18 var params = new {{interface.name}}_{{method.name}}_Params(); | 15 var params = new {{interface.name}}_{{method.name}}_Params(); |
19 {%- for parameter in method.parameters %} | 16 {%- for parameter in method.parameters %} |
20 params.{{parameter.name}} = {{parameter.name}}; | 17 params.{{parameter.name}} = {{parameter.name}}; |
21 {%- endfor %} | 18 {%- endfor %} |
22 | 19 |
23 {%- if method.response_parameters == None %} | 20 {%- if method.response_parameters == None %} |
24 var builder = new codec.MessageBuilder( | 21 var builder = new codec.MessageBuilder( |
25 k{{interface.name}}_{{method.name}}_Name, | 22 k{{interface.name}}_{{method.name}}_Name, |
26 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize)); | 23 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize)); |
27 builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params); | 24 builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params); |
28 var message = builder.finish(); | 25 var message = builder.finish(); |
29 this.receiver_.accept(message); | 26 this.receiver_.accept(message); |
30 {%- else %} | 27 {%- else %} |
31 var builder = new codec.MessageWithRequestIDBuilder( | 28 return new Promise(function(resolve, reject) { |
32 k{{interface.name}}_{{method.name}}_Name, | 29 var builder = new codec.MessageWithRequestIDBuilder( |
33 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize), | 30 k{{interface.name}}_{{method.name}}_Name, |
34 codec.kMessageExpectsResponse, 0); | 31 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize), |
35 builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params); | 32 codec.kMessageExpectsResponse, 0); |
36 var message = builder.finish(); | 33 builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params); |
37 this.receiver_.acceptWithResponder(message, { accept: function(message) { | 34 var message = builder.finish(); |
38 var reader = new codec.MessageReader(message); | 35 this.receiver_.acceptWithResponder(message, { accept: function(message) { |
39 var responseParams = | 36 var reader = new codec.MessageReader(message); |
40 reader.decodeStruct({{interface.name}}_{{method.name}}_ResponseParams)
; | 37 var responseParams = |
41 closure( | 38 reader.decodeStruct({{interface.name}}_{{method.name}}_ResponseParam
s); |
42 {%- for parameter in method.response_parameters -%} | 39 resolve(responseParams); |
43 responseParams.{{parameter.name}}{% if not loop.last %}, {% endif %} | 40 }}); |
44 {%- endfor -%}); | 41 }.bind(this)); |
45 }}); | |
46 {%- endif %} | 42 {%- endif %} |
47 }; | 43 }; |
48 {%- endfor %} | 44 {%- endfor %} |
49 | 45 |
50 function {{interface.name}}Stub() { | 46 function {{interface.name}}Stub() { |
51 } | 47 } |
52 | 48 |
53 {{interface.name}}Stub.prototype.accept = function(message) { | 49 {{interface.name}}Stub.prototype.accept = function(message) { |
54 var reader = new codec.MessageReader(message); | 50 var reader = new codec.MessageReader(message); |
55 switch (reader.messageName) { | 51 switch (reader.messageName) { |
(...skipping 16 matching lines...) Expand all Loading... |
72 {{interface.name}}Stub.prototype.acceptWithResponder = | 68 {{interface.name}}Stub.prototype.acceptWithResponder = |
73 function(message, responder) { | 69 function(message, responder) { |
74 var reader = new codec.MessageReader(message); | 70 var reader = new codec.MessageReader(message); |
75 switch (reader.messageName) { | 71 switch (reader.messageName) { |
76 {%- for method in interface.methods %} | 72 {%- for method in interface.methods %} |
77 {%- if method.response_parameters != None %} | 73 {%- if method.response_parameters != None %} |
78 case k{{interface.name}}_{{method.name}}_Name: | 74 case k{{interface.name}}_{{method.name}}_Name: |
79 var params = reader.decodeStruct({{interface.name}}_{{method.name}}_Params
); | 75 var params = reader.decodeStruct({{interface.name}}_{{method.name}}_Params
); |
80 this.{{method.name|stylize_method}}( | 76 this.{{method.name|stylize_method}}( |
81 {%- for parameter in method.parameters -%} | 77 {%- for parameter in method.parameters -%} |
82 params.{{parameter.name}}, | 78 params.{{parameter.name}}{% if not loop.last %}, {% endif -%} |
83 {%- endfor %} function ( | 79 {%- endfor %}).then(function(response) { |
84 {%- for parameter in method.response_parameters -%} | |
85 {{parameter.name}}{% if not loop.last %}, {% endif -%} | |
86 {%- endfor -%}) { | |
87 var responseParams = | 80 var responseParams = |
88 new {{interface.name}}_{{method.name}}_ResponseParams(); | 81 new {{interface.name}}_{{method.name}}_ResponseParams(); |
89 {%- for parameter in method.response_parameters %} | 82 {%- for parameter in method.response_parameters %} |
90 responseParams.{{parameter.name}} = {{parameter.name}}; | 83 responseParams.{{parameter.name}} = response.{{parameter.name}}; |
91 {%- endfor %} | 84 {%- endfor %} |
92 var builder = new codec.MessageWithRequestIDBuilder( | 85 var builder = new codec.MessageWithRequestIDBuilder( |
93 k{{interface.name}}_{{method.name}}_Name, | 86 k{{interface.name}}_{{method.name}}_Name, |
94 codec.align({{interface.name}}_{{method.name}}_ResponseParams.encode
dSize), | 87 codec.align({{interface.name}}_{{method.name}}_ResponseParams.encode
dSize), |
95 codec.kMessageIsResponse, reader.requestID); | 88 codec.kMessageIsResponse, reader.requestID); |
96 builder.encodeStruct({{interface.name}}_{{method.name}}_ResponseParams, | 89 builder.encodeStruct({{interface.name}}_{{method.name}}_ResponseParams, |
97 responseParams); | 90 responseParams); |
98 var message = builder.finish(); | 91 var message = builder.finish(); |
99 responder.accept(message); | 92 responder.accept(message); |
100 }); | 93 }); |
101 return true; | 94 return true; |
102 {%- endif %} | 95 {%- endif %} |
103 {%- endfor %} | 96 {%- endfor %} |
104 default: | 97 default: |
105 return false; | 98 return false; |
106 } | 99 } |
107 }; | 100 }; |
108 | 101 |
109 {#--- Enums #} | 102 {#--- Enums #} |
110 {% from "enum_definition.tmpl" import enum_def -%} | 103 {% from "enum_definition.tmpl" import enum_def -%} |
111 {% for enum in interface.enums %} | 104 {% for enum in interface.enums %} |
112 {{enum_def("%sProxy.%s"|format(interface.name, enum.name), enum, module)}} | 105 {{enum_def("%sProxy.%s"|format(interface.name, enum.name), enum, module)}} |
113 {{interface.name}}Stub.{{enum.name}} = {{interface.name}}Proxy.{{enum.name}}; | 106 {{interface.name}}Stub.{{enum.name}} = {{interface.name}}Proxy.{{enum.name}}; |
114 {%- endfor %} | 107 {%- endfor %} |
OLD | NEW |