Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1193)

Unified Diff: mojo/dart/packages/mojo_services/lib/http_server/http_server.mojom.dart

Issue 1998433002: Dart: Adds Interface and InterfaceRequest interfaces. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Merge Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/dart/packages/mojo_services/lib/http_server/http_server.mojom.dart
diff --git a/mojo/dart/packages/mojo_services/lib/http_server/http_server.mojom.dart b/mojo/dart/packages/mojo_services/lib/http_server/http_server.mojom.dart
index 576abeb98e97100df85d108d9ded86860d52364f..6da21e3f44285de589635ebf2ec610ef9d4b44a5 100644
--- a/mojo/dart/packages/mojo_services/lib/http_server/http_server.mojom.dart
+++ b/mojo/dart/packages/mojo_services/lib/http_server/http_server.mojom.dart
@@ -17,7 +17,7 @@ class _HttpServerSetHandlerParams extends bindings.Struct {
const bindings.StructDataHeader(24, 0)
];
String pattern = null;
- Object handler = null;
+ HttpHandlerInterface handler = null;
_HttpServerSetHandlerParams() : super(kVersions.last.size);
@@ -457,13 +457,51 @@ class _HttpServerServiceDescription implements service_describer.ServiceDescript
abstract class HttpServer {
static const String serviceName = null;
- dynamic setHandler(String pattern,Object handler,[Function responseFactory = null]);
+
+ static service_describer.ServiceDescription _cachedServiceDescription;
+ static service_describer.ServiceDescription get serviceDescription {
+ if (_cachedServiceDescription == null) {
+ _cachedServiceDescription = new _HttpServerServiceDescription();
+ }
+ return _cachedServiceDescription;
+ }
+
+ static HttpServerProxy connectToService(
+ bindings.ServiceConnector s, String url, [String serviceName]) {
+ HttpServerProxy p = new HttpServerProxy.unbound();
+ String name = serviceName ?? HttpServer.serviceName;
+ if ((name == null) || name.isEmpty) {
+ throw new core.MojoApiError(
+ "If an interface has no ServiceName, then one must be provided.");
+ }
+ s.connectToService(url, p, name);
+ return p;
+ }
+ dynamic setHandler(String pattern,HttpHandlerInterface handler,[Function responseFactory = null]);
dynamic getPort([Function responseFactory = null]);
}
+abstract class HttpServerInterface
+ implements bindings.MojoInterface<HttpServer>,
+ HttpServer {
+ factory HttpServerInterface([HttpServer impl]) =>
+ new HttpServerStub.unbound(impl);
+ factory HttpServerInterface.fromEndpoint(
+ core.MojoMessagePipeEndpoint endpoint,
+ [HttpServer impl]) =>
+ new HttpServerStub.fromEndpoint(endpoint, impl);
+}
+
+abstract class HttpServerInterfaceRequest
+ implements bindings.MojoInterface<HttpServer>,
+ HttpServer {
+ factory HttpServerInterfaceRequest() =>
+ new HttpServerProxy.unbound();
+}
+
class _HttpServerProxyControl
extends bindings.ProxyMessageHandler
- implements bindings.ProxyControl {
+ implements bindings.ProxyControl<HttpServer> {
_HttpServerProxyControl.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
@@ -472,9 +510,6 @@ class _HttpServerProxyControl
_HttpServerProxyControl.unbound() : super.unbound();
- service_describer.ServiceDescription get serviceDescription =>
- new _HttpServerServiceDescription();
-
String get serviceName => HttpServer.serviceName;
void handleResponse(bindings.ServiceMessage message) {
@@ -526,6 +561,11 @@ class _HttpServerProxyControl
}
}
+ HttpServer get impl => null;
+ set impl(HttpServer _) {
+ throw new core.MojoApiError("The impl of a Proxy cannot be set.");
+ }
+
@override
String toString() {
var superString = super.toString();
@@ -534,8 +574,10 @@ class _HttpServerProxyControl
}
class HttpServerProxy
- extends bindings.Proxy
- implements HttpServer {
+ extends bindings.Proxy<HttpServer>
+ implements HttpServer,
+ HttpServerInterface,
+ HttpServerInterfaceRequest {
HttpServerProxy.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint)
: super(new _HttpServerProxyControl.fromEndpoint(endpoint));
@@ -552,15 +594,8 @@ class HttpServerProxy
return new HttpServerProxy.fromEndpoint(endpoint);
}
- factory HttpServerProxy.connectToService(
- bindings.ServiceConnector s, String url, [String serviceName]) {
- HttpServerProxy p = new HttpServerProxy.unbound();
- s.connectToService(url, p, serviceName);
- return p;
- }
-
- dynamic setHandler(String pattern,Object handler,[Function responseFactory = null]) {
+ dynamic setHandler(String pattern,HttpHandlerInterface handler,[Function responseFactory = null]) {
var params = new _HttpServerSetHandlerParams();
params.pattern = pattern;
params.handler = handler;
@@ -599,6 +634,8 @@ class _HttpServerStubControl
_HttpServerStubControl.unbound([this._impl]) : super.unbound();
+ String get serviceName => HttpServer.serviceName;
+
HttpServerSetHandlerResponseParams _httpServerSetHandlerResponseParamsFactory(bool success) {
var result = new HttpServerSetHandlerResponseParams();
@@ -696,19 +733,16 @@ class _HttpServerStubControl
}
int get version => 0;
-
- static service_describer.ServiceDescription _cachedServiceDescription;
- static service_describer.ServiceDescription get serviceDescription {
- if (_cachedServiceDescription == null) {
- _cachedServiceDescription = new _HttpServerServiceDescription();
- }
- return _cachedServiceDescription;
- }
}
class HttpServerStub
extends bindings.Stub<HttpServer>
- implements HttpServer {
+ implements HttpServer,
+ HttpServerInterface,
+ HttpServerInterfaceRequest {
+ HttpServerStub.unbound([HttpServer impl])
+ : super(new _HttpServerStubControl.unbound(impl));
+
HttpServerStub.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint, [HttpServer impl])
: super(new _HttpServerStubControl.fromEndpoint(endpoint, impl));
@@ -717,20 +751,14 @@ class HttpServerStub
core.MojoHandle handle, [HttpServer impl])
: super(new _HttpServerStubControl.fromHandle(handle, impl));
- HttpServerStub.unbound([HttpServer impl])
- : super(new _HttpServerStubControl.unbound(impl));
-
static HttpServerStub newFromEndpoint(
core.MojoMessagePipeEndpoint endpoint) {
assert(endpoint.setDescription("For HttpServerStub"));
return new HttpServerStub.fromEndpoint(endpoint);
}
- static service_describer.ServiceDescription get serviceDescription =>
- _HttpServerStubControl.serviceDescription;
-
- dynamic setHandler(String pattern,Object handler,[Function responseFactory = null]) {
+ dynamic setHandler(String pattern,HttpHandlerInterface handler,[Function responseFactory = null]) {
return impl.setHandler(pattern,handler,responseFactory);
}
dynamic getPort([Function responseFactory = null]) {
@@ -753,12 +781,50 @@ class _HttpHandlerServiceDescription implements service_describer.ServiceDescrip
abstract class HttpHandler {
static const String serviceName = null;
+
+ static service_describer.ServiceDescription _cachedServiceDescription;
+ static service_describer.ServiceDescription get serviceDescription {
+ if (_cachedServiceDescription == null) {
+ _cachedServiceDescription = new _HttpHandlerServiceDescription();
+ }
+ return _cachedServiceDescription;
+ }
+
+ static HttpHandlerProxy connectToService(
+ bindings.ServiceConnector s, String url, [String serviceName]) {
+ HttpHandlerProxy p = new HttpHandlerProxy.unbound();
+ String name = serviceName ?? HttpHandler.serviceName;
+ if ((name == null) || name.isEmpty) {
+ throw new core.MojoApiError(
+ "If an interface has no ServiceName, then one must be provided.");
+ }
+ s.connectToService(url, p, name);
+ return p;
+ }
dynamic handleRequest(http_request_mojom.HttpRequest request,[Function responseFactory = null]);
}
+abstract class HttpHandlerInterface
+ implements bindings.MojoInterface<HttpHandler>,
+ HttpHandler {
+ factory HttpHandlerInterface([HttpHandler impl]) =>
+ new HttpHandlerStub.unbound(impl);
+ factory HttpHandlerInterface.fromEndpoint(
+ core.MojoMessagePipeEndpoint endpoint,
+ [HttpHandler impl]) =>
+ new HttpHandlerStub.fromEndpoint(endpoint, impl);
+}
+
+abstract class HttpHandlerInterfaceRequest
+ implements bindings.MojoInterface<HttpHandler>,
+ HttpHandler {
+ factory HttpHandlerInterfaceRequest() =>
+ new HttpHandlerProxy.unbound();
+}
+
class _HttpHandlerProxyControl
extends bindings.ProxyMessageHandler
- implements bindings.ProxyControl {
+ implements bindings.ProxyControl<HttpHandler> {
_HttpHandlerProxyControl.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
@@ -767,9 +833,6 @@ class _HttpHandlerProxyControl
_HttpHandlerProxyControl.unbound() : super.unbound();
- service_describer.ServiceDescription get serviceDescription =>
- new _HttpHandlerServiceDescription();
-
String get serviceName => HttpHandler.serviceName;
void handleResponse(bindings.ServiceMessage message) {
@@ -801,6 +864,11 @@ class _HttpHandlerProxyControl
}
}
+ HttpHandler get impl => null;
+ set impl(HttpHandler _) {
+ throw new core.MojoApiError("The impl of a Proxy cannot be set.");
+ }
+
@override
String toString() {
var superString = super.toString();
@@ -809,8 +877,10 @@ class _HttpHandlerProxyControl
}
class HttpHandlerProxy
- extends bindings.Proxy
- implements HttpHandler {
+ extends bindings.Proxy<HttpHandler>
+ implements HttpHandler,
+ HttpHandlerInterface,
+ HttpHandlerInterfaceRequest {
HttpHandlerProxy.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint)
: super(new _HttpHandlerProxyControl.fromEndpoint(endpoint));
@@ -827,13 +897,6 @@ class HttpHandlerProxy
return new HttpHandlerProxy.fromEndpoint(endpoint);
}
- factory HttpHandlerProxy.connectToService(
- bindings.ServiceConnector s, String url, [String serviceName]) {
- HttpHandlerProxy p = new HttpHandlerProxy.unbound();
- s.connectToService(url, p, serviceName);
- return p;
- }
-
dynamic handleRequest(http_request_mojom.HttpRequest request,[Function responseFactory = null]) {
var params = new _HttpHandlerHandleRequestParams();
@@ -865,6 +928,8 @@ class _HttpHandlerStubControl
_HttpHandlerStubControl.unbound([this._impl]) : super.unbound();
+ String get serviceName => HttpHandler.serviceName;
+
HttpHandlerHandleRequestResponseParams _httpHandlerHandleRequestResponseParamsFactory(http_response_mojom.HttpResponse response) {
var result = new HttpHandlerHandleRequestResponseParams();
@@ -937,19 +1002,16 @@ class _HttpHandlerStubControl
}
int get version => 0;
-
- static service_describer.ServiceDescription _cachedServiceDescription;
- static service_describer.ServiceDescription get serviceDescription {
- if (_cachedServiceDescription == null) {
- _cachedServiceDescription = new _HttpHandlerServiceDescription();
- }
- return _cachedServiceDescription;
- }
}
class HttpHandlerStub
extends bindings.Stub<HttpHandler>
- implements HttpHandler {
+ implements HttpHandler,
+ HttpHandlerInterface,
+ HttpHandlerInterfaceRequest {
+ HttpHandlerStub.unbound([HttpHandler impl])
+ : super(new _HttpHandlerStubControl.unbound(impl));
+
HttpHandlerStub.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint, [HttpHandler impl])
: super(new _HttpHandlerStubControl.fromEndpoint(endpoint, impl));
@@ -958,18 +1020,12 @@ class HttpHandlerStub
core.MojoHandle handle, [HttpHandler impl])
: super(new _HttpHandlerStubControl.fromHandle(handle, impl));
- HttpHandlerStub.unbound([HttpHandler impl])
- : super(new _HttpHandlerStubControl.unbound(impl));
-
static HttpHandlerStub newFromEndpoint(
core.MojoMessagePipeEndpoint endpoint) {
assert(endpoint.setDescription("For HttpHandlerStub"));
return new HttpHandlerStub.fromEndpoint(endpoint);
}
- static service_describer.ServiceDescription get serviceDescription =>
- _HttpHandlerStubControl.serviceDescription;
-
dynamic handleRequest(http_request_mojom.HttpRequest request,[Function responseFactory = null]) {
return impl.handleRequest(request,responseFactory);

Powered by Google App Engine
This is Rietveld 408576698