// 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);
};
