blob: 95b32f8e21d30f85e8a7b6f00b9f114c7b232f68 [file] [log] [blame]
// Copyright 2018 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.developer.tiles;
using fuchsia.ui.app;
using fuchsia.ui.gfx;
[Discoverable]
protocol Controller {
/// Instantiates a component by its URL and adds a tile backed by that component's ViewProvider.
/// Returns a key for the tile that can be used for resizing or removing the tile, or 0 on failure.
AddTileFromURL(string url, bool allow_focus, vector<string>? args) -> (uint32 key);
/// Adds a tile backed by a view from the view provider.
/// Returns a key for the tile that can be used for resizing or removing the tile, or 0 on failure.
AddTileFromViewProvider(string url, fuchsia.ui.app.ViewProvider provider) -> (uint32 key);
/// Removes the tile with the given key.
RemoveTile(uint32 key);
/// Returns a list of tiles.
ListTiles() -> (vector<uint32> keys, vector<string> urls, vector<fuchsia.ui.gfx.vec3> sizes, vector<bool> focusabilities);
/// Asks the tiles component to quit.
Quit();
};