1// Copyright 2016 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4//
5// Next MinVersion: 4
6
7module arc.mojom;
8
9// Handles wallpaper calls from ARC in Chrome.
10// Next method ID: 3
11interface WallpaperHost {
12  // Gets current wallpaper encoded in PNG and send it back to ARC.
13  GetWallpaper@0() => (array<uint8> wallpaper);
14
15  // Sets an image from ARC as the wallpaper.
16  // |data| is a byte array of the wallpaper image.
17  SetWallpaper@1(array<uint8> data, [MinVersion=2] int32 wallpaper_id);
18
19  // Sets the default wallpaper.
20  [MinVersion=2] SetDefaultWallpaper@2();
21};
22
23// Connects with container side to publish wallpaper related intents.
24// Next method ID: 4
25interface WallpaperInstance {
26  // DEPRECATED: Please use Init@3 instead.
27  InitDeprecated@0(WallpaperHost host_ptr);
28
29  // Establishes full-duplex communication with the host.
30  [MinVersion=3] Init@3(WallpaperHost host_ptr) => ();
31
32  // Notifies ArcWallpaperManagerService that wallpaper is changed.
33  [MinVersion=1] OnWallpaperChanged@1([MinVersion=2] int32 wallpaper_id);
34};
35