| OLD | NEW |
| 1 {%- for method in interface.methods %} | 1 {%- for method in interface.methods %} |
| 2 const int _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name =
{{method.ordinal}}; | 2 const int _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name =
{{method.ordinal}}; |
| 3 {%- endfor %} | 3 {%- endfor %} |
| 4 | 4 |
| 5 {#--- Interface Enums #} | 5 {#--- Interface Enums #} |
| 6 {%- from "enum_definition.tmpl" import enum_def -%} | 6 {%- from "enum_definition.tmpl" import enum_def -%} |
| 7 {%- for enum in interface.enums %} | 7 {%- for enum in interface.enums %} |
| 8 {{ enum_def(enum, typepkg, package) }} | 8 {{ enum_def(enum, typepkg, package) }} |
| 9 {%- endfor %} | 9 {%- endfor %} |
| 10 | 10 |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 {%- endif %} | 56 {%- endif %} |
| 57 {%- endfor %} | 57 {%- endfor %} |
| 58 | 58 |
| 59 {#--- Interface Constants #} | 59 {#--- Interface Constants #} |
| 60 {%- for constant in interface.constants %} | 60 {%- for constant in interface.constants %} |
| 61 static const {{constant.kind|dart_type}} {{constant|name}} = {{constant.resolv
ed_value}}; | 61 static const {{constant.kind|dart_type}} {{constant|name}} = {{constant.resolv
ed_value}}; |
| 62 {%- endfor %} | 62 {%- endfor %} |
| 63 } | 63 } |
| 64 | 64 |
| 65 | 65 |
| 66 class _{{interface|name}}ProxyImpl extends bindings.Proxy { | 66 class _{{interface|name}}ProxyControl extends bindings.ProxyMessageHandler |
| 67 _{{interface|name}}ProxyImpl.fromEndpoint( | 67 implements bindings.ProxyControl { |
| 68 _{{interface|name}}ProxyControl.fromEndpoint( |
| 68 core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint); | 69 core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint); |
| 69 | 70 |
| 70 _{{interface|name}}ProxyImpl.fromHandle(core.MojoHandle handle) : | 71 _{{interface|name}}ProxyControl.fromHandle( |
| 71 super.fromHandle(handle); | 72 core.MojoHandle handle) : super.fromHandle(handle); |
| 72 | 73 |
| 73 _{{interface|name}}ProxyImpl.unbound() : super.unbound(); | 74 _{{interface|name}}ProxyControl.unbound() : super.unbound(); |
| 74 | |
| 75 static _{{interface|name}}ProxyImpl newFromEndpoint( | |
| 76 core.MojoMessagePipeEndpoint endpoint) { | |
| 77 assert(endpoint.setDescription("For _{{interface|name}}ProxyImpl")); | |
| 78 return new _{{interface|name}}ProxyImpl.fromEndpoint(endpoint); | |
| 79 } | |
| 80 | 75 |
| 81 {{descpkg}}ServiceDescription get serviceDescription => | 76 {{descpkg}}ServiceDescription get serviceDescription => |
| 82 new _{{interface|name}}ServiceDescription(); | 77 new _{{interface|name}}ServiceDescription(); |
| 83 | 78 |
| 79 String get serviceName => {{interface|name}}.serviceName; |
| 80 |
| 81 @override |
| 84 void handleResponse(bindings.ServiceMessage message) { | 82 void handleResponse(bindings.ServiceMessage message) { |
| 85 switch (message.header.type) { | 83 switch (message.header.type) { |
| 86 {%- for method in interface.methods %} | 84 {%- for method in interface.methods %} |
| 87 {%- if method.response_parameters != None %} | 85 {%- if method.response_parameters != None %} |
| 88 {%- set response_struct = method.response_param_struct %} | 86 {%- set response_struct = method.response_param_struct %} |
| 89 case _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name: | 87 case _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name: |
| 90 var r = {{response_struct|name}}.deserialize( | 88 var r = {{response_struct|name}}.deserialize( |
| 91 message.payload); | 89 message.payload); |
| 92 if (!message.header.hasRequestId) { | 90 if (!message.header.hasRequestId) { |
| 93 proxyError("Expected a message with a valid request Id."); | 91 proxyError("Expected a message with a valid request Id."); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 108 break; | 106 break; |
| 109 {%- endif %} | 107 {%- endif %} |
| 110 {%- endfor %} | 108 {%- endfor %} |
| 111 default: | 109 default: |
| 112 proxyError("Unexpected message type: ${message.header.type}"); | 110 proxyError("Unexpected message type: ${message.header.type}"); |
| 113 close(immediate: true); | 111 close(immediate: true); |
| 114 break; | 112 break; |
| 115 } | 113 } |
| 116 } | 114 } |
| 117 | 115 |
| 116 @override |
| 118 String toString() { | 117 String toString() { |
| 119 var superString = super.toString(); | 118 var superString = super.toString(); |
| 120 return "_{{interface|name}}ProxyImpl($superString)"; | 119 return "_{{interface|name}}ProxyControl($superString)"; |
| 121 } | 120 } |
| 122 } | 121 } |
| 123 | 122 |
| 124 | 123 |
| 125 class _{{interface|name}}ProxyCalls implements {{interface|name}} { | 124 class {{interface|name}}Proxy extends bindings.Proxy |
| 126 {%- if interface.methods %} | 125 implements {{interface|name}} { |
| 127 _{{interface|name}}ProxyImpl _proxyImpl; | 126 {{interface|name}}Proxy.fromEndpoint( |
| 127 core.MojoMessagePipeEndpoint endpoint) |
| 128 : super(new _{{interface|name}}ProxyControl.fromEndpoint(endpoint)); |
| 128 | 129 |
| 129 _{{interface|name}}ProxyCalls(this._proxyImpl); | 130 {{interface|name}}Proxy.fromHandle(core.MojoHandle handle) |
| 130 {%- else %} | 131 : super(new _{{interface|name}}ProxyControl.fromHandle(handle)); |
| 131 _{{interface|name}}ProxyCalls(_{{interface|name}}ProxyImpl _); | |
| 132 {%- endif %} | |
| 133 | 132 |
| 134 {%- for method in interface.methods %} | 133 {{interface|name}}Proxy.unbound() |
| 135 {%- if method.response_parameters == None %} | 134 : super(new _{{interface|name}}ProxyControl.unbound()); |
| 136 void {{method|name}}( | |
| 137 {%- for parameter in method.parameters -%} | |
| 138 {{parameter.kind|dart_type}} {{parameter|name}}{% if not loop.last %}, {%
endif %} | |
| 139 {%- endfor -%} | |
| 140 {%- set request_struct = method.param_struct -%} | |
| 141 ) { | |
| 142 if (!_proxyImpl.isBound) { | |
| 143 _proxyImpl.proxyError("The Proxy is closed."); | |
| 144 return; | |
| 145 } | |
| 146 var params = new {{request_struct|name}}(); | |
| 147 {%- for parameter in method.parameters %} | |
| 148 params.{{parameter|name}} = {{parameter|name}}; | |
| 149 {%- endfor %} | |
| 150 _proxyImpl.sendMessage(params, _{{interface|name|lower_camel}}Method{{meth
od|name|upper_camel}}Name); | |
| 151 } | |
| 152 {%- else %} | |
| 153 {%- set request_struct = method.param_struct %} | |
| 154 dynamic {{method|name}}( | |
| 155 {%- for parameter in method.parameters -%} | |
| 156 {{parameter.kind|dart_type}} {{parameter|name}}, | |
| 157 {%- endfor -%} | |
| 158 [Function responseFactory = null]) { | |
| 159 var params = new {{request_struct|name}}(); | |
| 160 {%- for parameter in method.parameters %} | |
| 161 params.{{parameter|name}} = {{parameter|name}}; | |
| 162 {%- endfor %} | |
| 163 return _proxyImpl.sendMessageWithRequestId( | |
| 164 params, | |
| 165 _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name, | |
| 166 -1, | |
| 167 bindings.MessageHeader.kMessageExpectsResponse); | |
| 168 } | |
| 169 {%- endif %} | |
| 170 {%- endfor %} | |
| 171 } | |
| 172 | 135 |
| 173 | 136 static {{interface|name}}Proxy newFromEndpoint( |
| 174 class {{interface|name}}Proxy implements bindings.ProxyBase { | 137 core.MojoMessagePipeEndpoint endpoint) { |
| 175 final bindings.Proxy impl; | 138 assert(endpoint.setDescription("For {{interface|name}}Proxy")); |
| 176 {{interface|name}} ptr; | 139 return new {{interface|name}}Proxy.fromEndpoint(endpoint); |
| 177 | |
| 178 {{interface|name}}Proxy(_{{interface|name}}ProxyImpl proxyImpl) : | |
| 179 impl = proxyImpl, | |
| 180 ptr = new _{{interface|name}}ProxyCalls(proxyImpl); | |
| 181 | |
| 182 {{interface|name}}Proxy.fromEndpoint( | |
| 183 core.MojoMessagePipeEndpoint endpoint) : | |
| 184 impl = new _{{interface|name}}ProxyImpl.fromEndpoint(endpoint) { | |
| 185 ptr = new _{{interface|name}}ProxyCalls(impl); | |
| 186 } | |
| 187 | |
| 188 {{interface|name}}Proxy.fromHandle(core.MojoHandle handle) : | |
| 189 impl = new _{{interface|name}}ProxyImpl.fromHandle(handle) { | |
| 190 ptr = new _{{interface|name}}ProxyCalls(impl); | |
| 191 } | |
| 192 | |
| 193 {{interface|name}}Proxy.unbound() : | |
| 194 impl = new _{{interface|name}}ProxyImpl.unbound() { | |
| 195 ptr = new _{{interface|name}}ProxyCalls(impl); | |
| 196 } | 140 } |
| 197 | 141 |
| 198 factory {{interface|name}}Proxy.connectToService( | 142 factory {{interface|name}}Proxy.connectToService( |
| 199 bindings.ServiceConnector s, String url, [String serviceName]) { | 143 bindings.ServiceConnector s, String url, [String serviceName]) { |
| 200 {{interface|name}}Proxy p = new {{interface|name}}Proxy.unbound(); | 144 {{interface|name}}Proxy p = new {{interface|name}}Proxy.unbound(); |
| 201 s.connectToService(url, p, serviceName); | 145 s.connectToService(url, p, serviceName); |
| 202 return p; | 146 return p; |
| 203 } | 147 } |
| 204 | 148 |
| 205 static {{interface|name}}Proxy newFromEndpoint( | 149 {% for method in interface.methods %} |
| 206 core.MojoMessagePipeEndpoint endpoint) { | 150 {%- if method.response_parameters == None %} |
| 207 assert(endpoint.setDescription("For {{interface|name}}Proxy")); | 151 void {{method|name}}( |
| 208 return new {{interface|name}}Proxy.fromEndpoint(endpoint); | 152 {%- for parameter in method.parameters -%} |
| 153 {{parameter.kind|dart_type}} {{parameter|name}}{% if not loop.last %}, {% en
dif %} |
| 154 {%- endfor -%} |
| 155 {%- set request_struct = method.param_struct -%} |
| 156 ) { |
| 157 if (!ctrl.isBound) { |
| 158 ctrl.proxyError("The Proxy is closed."); |
| 159 return; |
| 160 } |
| 161 var params = new {{request_struct|name}}(); |
| 162 {%- for parameter in method.parameters %} |
| 163 params.{{parameter|name}} = {{parameter|name}}; |
| 164 {%- endfor %} |
| 165 ctrl.sendMessage(params, |
| 166 _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name); |
| 209 } | 167 } |
| 210 | 168 {%- else %} |
| 211 String get serviceName => {{interface|name}}.serviceName; | 169 {%- set request_struct = method.param_struct %} |
| 212 | 170 dynamic {{method|name}}( |
| 213 Future close({bool immediate: false}) => impl.close(immediate: immediate); | 171 {%- for parameter in method.parameters -%} |
| 214 | 172 {{parameter.kind|dart_type}} {{parameter|name}}, |
| 215 Future responseOrError(Future f) => impl.responseOrError(f); | 173 {%- endfor -%} |
| 216 | 174 [Function responseFactory = null]) { |
| 217 Future get errorFuture => impl.errorFuture; | 175 var params = new {{request_struct|name}}(); |
| 218 | 176 {%- for parameter in method.parameters %} |
| 219 int get version => impl.version; | 177 params.{{parameter|name}} = {{parameter|name}}; |
| 220 | 178 {%- endfor %} |
| 221 Future<int> queryVersion() => impl.queryVersion(); | 179 return ctrl.sendMessageWithRequestId( |
| 222 | 180 params, |
| 223 void requireVersion(int requiredVersion) { | 181 _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name, |
| 224 impl.requireVersion(requiredVersion); | 182 -1, |
| 183 bindings.MessageHeader.kMessageExpectsResponse); |
| 225 } | 184 } |
| 226 | 185 {%- endif %} |
| 227 String toString() { | 186 {%- endfor %} |
| 228 return "{{interface|name}}Proxy($impl)"; | |
| 229 } | |
| 230 } | 187 } |
| 231 | 188 |
| 232 | 189 |
| 233 class {{interface|name}}Stub extends bindings.Stub { | 190 class {{interface|name}}Stub extends bindings.Stub { |
| 234 {{interface|name}} _impl; | 191 {{interface|name}} _impl; |
| 235 | 192 |
| 236 {{interface|name}}Stub.fromEndpoint( | 193 {{interface|name}}Stub.fromEndpoint( |
| 237 core.MojoMessagePipeEndpoint endpoint, [{{interface|name}} impl]) | 194 core.MojoMessagePipeEndpoint endpoint, [{{interface|name}} impl]) |
| 238 : super.fromEndpoint(endpoint, autoBegin: impl != null) { | 195 : super.fromEndpoint(endpoint, autoBegin: impl != null) { |
| 239 _impl = impl; | 196 _impl = impl; |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 354 int get version => {{interface.version}}; | 311 int get version => {{interface.version}}; |
| 355 | 312 |
| 356 static {{descpkg}}ServiceDescription _cachedServiceDescription; | 313 static {{descpkg}}ServiceDescription _cachedServiceDescription; |
| 357 static {{descpkg}}ServiceDescription get serviceDescription { | 314 static {{descpkg}}ServiceDescription get serviceDescription { |
| 358 if (_cachedServiceDescription == null) { | 315 if (_cachedServiceDescription == null) { |
| 359 _cachedServiceDescription = new _{{interface|name}}ServiceDescription(); | 316 _cachedServiceDescription = new _{{interface|name}}ServiceDescription(); |
| 360 } | 317 } |
| 361 return _cachedServiceDescription; | 318 return _cachedServiceDescription; |
| 362 } | 319 } |
| 363 } | 320 } |
| OLD | NEW |