blob: de7ddf539b4323a9ebf03bd5fd77f2067d500a2c [file] [log] [blame]
// 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);
};
}