| // Copyright 2013 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. |
| |
| // Quick definitions: |
| // The Shell is the finder and launcher of Applications. |
| // Applications vend Services through the ServiceProvider interface. |
| // Services implement Interfaces. |
| // An Application uses it's Shell interface to connect to other Applications. |
| module mojo { |
| |
| [Client=ServiceProvider] |
| interface ServiceProvider { |
| // Loads url. mojo:{service} will result in the the value of the |
| // --origin flag to the shell being used. |
| ConnectToService(string interface_name, handle<message_pipe> client_handle); |
| }; |
| |
| // TODO(davemore): Break Application & Shell into their own files. |
| [Client=Application] |
| interface Shell { |
| // Loads url. mojo:{service} will result in the user of the value of the |
| // --origin flag to the shell being used. |
| ConnectToApplication(string application_url, ServiceProvider& provider); |
| }; |
| |
| [Client=Shell] |
| interface Application { |
| AcceptConnection(string requestor_url, ServiceProvider provider); |
| }; |
| |
| } |