chromium/services/device/public/mojom/mtp_file_entry.mojom

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module device.mojom;

// This is a mojo counterpart of the MtpFileEntry protobuf message from
// //src/third_party/cros_system_api/dbus/mtp_file_entry.proto
// See discussion on https://crbug.com/769630.
struct MtpFileEntry {
  enum FileType {
    FILE_TYPE_FOLDER = 0,
    FILE_TYPE_JPEG = 14,
    FILE_TYPE_JFIF = 15,
    FILE_TYPE_TIFF = 16,
    FILE_TYPE_BMP = 17,
    FILE_TYPE_GIF = 18,
    FILE_TYPE_PICT = 19,
    FILE_TYPE_PNG = 20,
    FILE_TYPE_WINDOWSIMAGEFORMAT = 25,
    FILE_TYPE_JP2 = 40,
    FILE_TYPE_JPX = 41,
    FILE_TYPE_UNKNOWN = 44,
    FILE_TYPE_OTHER = 9999
  };

  uint32 item_id = 0xFFFFFFFF;
  uint32 parent_id = 0XFFFFFFFF;
  string file_name;
  uint64 file_size = 0;
  int64 modification_time = 0;
  FileType file_type = FileType.FILE_TYPE_UNKNOWN;
};