| // Copyright 2016 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 service_manager.test.mojom; |
| |
| import "mojo/public/mojom/base/token.mojom"; |
| import "services/service_manager/public/mojom/connector.mojom"; |
| import "services/service_manager/public/mojom/service_filter.mojom"; |
| |
| interface ConnectTestService { |
| GetTitle() => (string title); |
| GetInstanceId() => (mojo_base.mojom.Token instance_id); |
| }; |
| |
| interface ClassInterface { |
| Ping() => (string response); |
| }; |
| |
| // Interface implemented by a standalone (non-package) app, |
| // mojo:connect_test_app. |
| interface StandaloneApp { |
| // Attempts to connect to an application whose name is explicitly allowed by |
| // the standalone app's CapabilitySpec, but whose enclosing package is not. |
| // The connection should succeed anyway. |
| ConnectToAllowedAppInBlockedPackage() => (string title); |
| |
| // Connects to mojo:connect_test_class_app & requests ClassInterface from it. |
| // This should be permitted because mojo:connect_test_app requests class |
| // "class" from mojo:connect_test_class_app, which mojo:connect_test_class_app |
| // defines as including ClassInterface. |
| // The response contains the response from ClassInterface::Ping() and |
| // ConnectTestService::GetTitle(). |
| ConnectToClassInterface() => (string class_interface_response, string title); |
| }; |
| |
| interface IdentityTest { |
| // Attempts to connect to mojo:connect_test_class_app as |target|. |
| // The callback takes the connection response result, and the identity |
| // mojo:connect_test_class_app was run as, which should match |filter| or be |
| // null on error. |
| ConnectToClassAppWithFilter(service_manager.mojom.ServiceFilter filter) => |
| (int32 connection_result, service_manager.mojom.Identity? identity); |
| }; |
| |
| struct ConnectionState { |
| string connection_remote_name; |
| mojo_base.mojom.Token? connection_remote_instance_group; |
| string initialize_local_name; |
| mojo_base.mojom.Token? initialize_local_instance_group; |
| }; |
| |
| interface ExposedInterface { |
| ConnectionAccepted(ConnectionState state); |
| }; |
| |
| interface BlockedInterface { |
| GetTitleBlocked() => (string blocked_title); |
| }; |
| |
| interface AlwaysAllowedInterface { |
| GetTitleAlwaysAllowed() => (string title); |
| }; |