blob: 850da78f654a6594868e806bd4a30e7f7a782684 [file] [log] [blame]
// Copyright 2015 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.
[DartPackage="mojo_services"]
module mojo;
struct Photo {
// A string to uniquely identify an instance of a |Photo|. This can be used
// to de-duplicate photos over multiple runs on the camera roll.
string unique_id;
// Stream to read contents of the photo from.
handle<data_pipe_consumer> content;
};
// |CameraRollService| provides access to the device's camera roll.
// The camera roll is exposed as a snapshot of all photos available as a list.
// The head of the list (element with index 0) is a photo with the latest
// timestamp and subsequent elements are in decreasing order of timestamp.
interface CameraRollService {
// Updates the snapshot of all photos available. Photos might have been added
// or removed after the service was started or |Update| was called.
Update();
// Get the number of photos available in the current snapshot.
GetCount() => (uint32 num_photos);
// Get the photo from the current snapshot at |index|. null will be returned
// if such an index is out-of-bounds.
GetPhoto(uint32 index) => (Photo? photo);
};