| // Copyright 2015 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.ui.viewsv1; |
| |
| using fuchsia.sys; |
| using fuchsia.ui.viewsv1token; |
| |
| // Provides a View upon request. |
| // |
| // Applications should implement and expose this service so that they can |
| // expose views to be embedded into other applications. |
| [Discoverable] |
| protocol ViewProvider { |
| // Creates and registers a view with the view manager and returns its |
| // view owner which may subsequently be passed to `View.AddChild()` |
| // to attach the view to a view hierarchy. |
| // |
| // Implementors of this interface are responsible for creating the view |
| // and forwarding the `view_owner` interface request to |
| // `ViewManager.CreateView()`. |
| // |
| // The caller may request services from the created view via the `services` |
| // service provider. |
| CreateView(request<fuchsia.ui.viewsv1token.ViewOwner> view_owner, |
| request<fuchsia.sys.ServiceProvider>? services); |
| }; |