// Copyright (c) 2012 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. // This is a private API for M23. This will be superceded by the // systeminfo.storage API in M24. namespace mediaGalleriesPrivate { // A dictionary that describes an attached device. [inline_doc] dictionary DeviceAttachmentDetails { // The name of the device. DOMString deviceName; // A transient id that unique identifies the device. DOMString deviceId; }; // A dictionary that describes a detached device. [inline_doc] dictionary DeviceDetachmentDetails { // A transient id that unique identifies the device. DOMString deviceId; }; // A dictionary that describes the modified gallery. [inline_doc] dictionary GalleryChangeDetails { // Gallery identifier. long galleryId; }; interface Events { // Fired when a media device gets attached. static void onDeviceAttached(DeviceAttachmentDetails details); // Fired when a media device gets detached. static void onDeviceDetached(DeviceDetachmentDetails details); // Fired when a media gallery is changed. static void onGalleryChanged(GalleryChangeDetails details); }; // A dictionary that describes the add gallery watch request results. dictionary AddGalleryWatchResult { long galleryId; boolean success; }; callback AddGalleryWatchCallback = void (AddGalleryWatchResult result); callback GetAllGalleryWatchCallback = void (long[] galleryIds); [inline_doc] enum EjectDeviceResultCode { // The ejection command is successful -- the application can prompt the user // to remove the device. success, // The device is in use by another application. The ejection did not // succeed; the user should not remove the device until the other // application is done with the device. in_use, // There is no such device known. no_such_device, // The ejection command failed. failure }; callback EjectDeviceCallback = void (EjectDeviceResultCode result); interface Functions { static void addGalleryWatch(long galleryId, AddGalleryWatchCallback callback); static void removeGalleryWatch(long galleryId); static void getAllGalleryWatch(GetAllGalleryWatchCallback callback); static void removeAllGalleryWatch(); static void ejectDevice(long deviceId, EjectDeviceCallback callback); }; };