| 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 |