Index: mojo/shell/public/interfaces/interface_provider.mojom |
diff --git a/mojo/shell/public/interfaces/interface_provider.mojom b/mojo/shell/public/interfaces/interface_provider.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9725f62e442d2ebd254c4f2cdfbad1e86b3ddede |
--- /dev/null |
+++ b/mojo/shell/public/interfaces/interface_provider.mojom |
@@ -0,0 +1,17 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+module mojo; |
+ |
+// An interface through which a client may request interfaces from a host. |
+// Instances of this interface are created within the context of an |
+// already-identified client and host pair, so there is no need to explicitly |
+// identify the client or host in the methods below. |
+interface InterfaceProvider { |
+ // Asks the host to provide an implementation of the interface identified by |
+ // |interface_name| through the message |pipe| endpoint supplied by the caller. |
+ // If the host is not willing or able to provide the requested interface, it |
+ // must close the |pipe|. |
+ GetInterface(string interface_name, handle<message_pipe> pipe); |
+}; |