OLD | NEW |
| (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 %} | |
OLD | NEW |