| Index: mojo/dart/packages/mojo_services/lib/mojo/files/types.mojom.dart
|
| diff --git a/mojo/dart/packages/mojo_services/lib/mojo/files/types.mojom.dart b/mojo/dart/packages/mojo_services/lib/mojo/files/types.mojom.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f66d54fb3dc227fabed5d3d11be40d6407700c6a
|
| --- /dev/null
|
| +++ b/mojo/dart/packages/mojo_services/lib/mojo/files/types.mojom.dart
|
| @@ -0,0 +1,565 @@
|
| +// Copyright 2014 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.
|
| +
|
| +library types_mojom;
|
| +
|
| +import 'dart:async';
|
| +
|
| +import 'package:mojo/bindings.dart' as bindings;
|
| +import 'package:mojo/core.dart' as core;
|
| +const kOpenFlagRead = 0x1;
|
| +const kOpenFlagWrite = 0x2;
|
| +const kOpenFlagCreate = 0x4;
|
| +const kOpenFlagExclusive = 0x8;
|
| +const kOpenFlagAppend = 0x10;
|
| +const kOpenFlagTruncate = 0x20;
|
| +const kDeleteFlagFileOnly = 0x1;
|
| +const kDeleteFlagDirectoryOnly = 0x2;
|
| +const kDeleteFlagRecursive = 0x4;
|
| +class Error extends bindings.MojoEnum {
|
| + static const OK = const Error._(0);
|
| + static const UNKNOWN = const Error._(1);
|
| + static const INVALID_ARGUMENT = const Error._(2);
|
| + static const PERMISSION_DENIED = const Error._(3);
|
| + static const OUT_OF_RANGE = const Error._(4);
|
| + static const UNIMPLEMENTED = const Error._(5);
|
| + static const CLOSED = const Error._(6);
|
| + static const UNAVAILABLE = const Error._(7);
|
| + static const INTERNAL = const Error._(8);
|
| +
|
| + const Error._(int v) : super(v);
|
| +
|
| + static const Map<String, Error> valuesMap = const {
|
| + "OK": OK,
|
| + "UNKNOWN": UNKNOWN,
|
| + "INVALID_ARGUMENT": INVALID_ARGUMENT,
|
| + "PERMISSION_DENIED": PERMISSION_DENIED,
|
| + "OUT_OF_RANGE": OUT_OF_RANGE,
|
| + "UNIMPLEMENTED": UNIMPLEMENTED,
|
| + "CLOSED": CLOSED,
|
| + "UNAVAILABLE": UNAVAILABLE,
|
| + "INTERNAL": INTERNAL,
|
| + };
|
| + static const List<Error> values = const [
|
| + OK,
|
| + UNKNOWN,
|
| + INVALID_ARGUMENT,
|
| + PERMISSION_DENIED,
|
| + OUT_OF_RANGE,
|
| + UNIMPLEMENTED,
|
| + CLOSED,
|
| + UNAVAILABLE,
|
| + INTERNAL,
|
| + ];
|
| +
|
| + static Error valueOf(String name) => valuesMap[name];
|
| +
|
| + factory Error(int v) {
|
| + switch (v) {
|
| + case 0:
|
| + return OK;
|
| + case 1:
|
| + return UNKNOWN;
|
| + case 2:
|
| + return INVALID_ARGUMENT;
|
| + case 3:
|
| + return PERMISSION_DENIED;
|
| + case 4:
|
| + return OUT_OF_RANGE;
|
| + case 5:
|
| + return UNIMPLEMENTED;
|
| + case 6:
|
| + return CLOSED;
|
| + case 7:
|
| + return UNAVAILABLE;
|
| + case 8:
|
| + return INTERNAL;
|
| + default:
|
| + return null;
|
| + }
|
| + }
|
| +
|
| + static Error decode(bindings.Decoder decoder0, int offset) {
|
| + int v = decoder0.decodeUint32(offset);
|
| + Error result = new Error(v);
|
| + if (result == null) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Bad value $v for enum Error.');
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + String toString() {
|
| + switch(this) {
|
| + case OK:
|
| + return 'Error.OK';
|
| + case UNKNOWN:
|
| + return 'Error.UNKNOWN';
|
| + case INVALID_ARGUMENT:
|
| + return 'Error.INVALID_ARGUMENT';
|
| + case PERMISSION_DENIED:
|
| + return 'Error.PERMISSION_DENIED';
|
| + case OUT_OF_RANGE:
|
| + return 'Error.OUT_OF_RANGE';
|
| + case UNIMPLEMENTED:
|
| + return 'Error.UNIMPLEMENTED';
|
| + case CLOSED:
|
| + return 'Error.CLOSED';
|
| + case UNAVAILABLE:
|
| + return 'Error.UNAVAILABLE';
|
| + case INTERNAL:
|
| + return 'Error.INTERNAL';
|
| + }
|
| + }
|
| +
|
| + int toJson() => value;
|
| +}
|
| +class Whence extends bindings.MojoEnum {
|
| + static const FROM_CURRENT = const Whence._(0);
|
| + static const FROM_START = const Whence._(1);
|
| + static const FROM_END = const Whence._(2);
|
| +
|
| + const Whence._(int v) : super(v);
|
| +
|
| + static const Map<String, Whence> valuesMap = const {
|
| + "FROM_CURRENT": FROM_CURRENT,
|
| + "FROM_START": FROM_START,
|
| + "FROM_END": FROM_END,
|
| + };
|
| + static const List<Whence> values = const [
|
| + FROM_CURRENT,
|
| + FROM_START,
|
| + FROM_END,
|
| + ];
|
| +
|
| + static Whence valueOf(String name) => valuesMap[name];
|
| +
|
| + factory Whence(int v) {
|
| + switch (v) {
|
| + case 0:
|
| + return FROM_CURRENT;
|
| + case 1:
|
| + return FROM_START;
|
| + case 2:
|
| + return FROM_END;
|
| + default:
|
| + return null;
|
| + }
|
| + }
|
| +
|
| + static Whence decode(bindings.Decoder decoder0, int offset) {
|
| + int v = decoder0.decodeUint32(offset);
|
| + Whence result = new Whence(v);
|
| + if (result == null) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Bad value $v for enum Whence.');
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + String toString() {
|
| + switch(this) {
|
| + case FROM_CURRENT:
|
| + return 'Whence.FROM_CURRENT';
|
| + case FROM_START:
|
| + return 'Whence.FROM_START';
|
| + case FROM_END:
|
| + return 'Whence.FROM_END';
|
| + }
|
| + }
|
| +
|
| + int toJson() => value;
|
| +}
|
| +class FileType extends bindings.MojoEnum {
|
| + static const UNKNOWN = const FileType._(0);
|
| + static const REGULAR_FILE = const FileType._(1);
|
| + static const DIRECTORY = const FileType._(2);
|
| +
|
| + const FileType._(int v) : super(v);
|
| +
|
| + static const Map<String, FileType> valuesMap = const {
|
| + "UNKNOWN": UNKNOWN,
|
| + "REGULAR_FILE": REGULAR_FILE,
|
| + "DIRECTORY": DIRECTORY,
|
| + };
|
| + static const List<FileType> values = const [
|
| + UNKNOWN,
|
| + REGULAR_FILE,
|
| + DIRECTORY,
|
| + ];
|
| +
|
| + static FileType valueOf(String name) => valuesMap[name];
|
| +
|
| + factory FileType(int v) {
|
| + switch (v) {
|
| + case 0:
|
| + return UNKNOWN;
|
| + case 1:
|
| + return REGULAR_FILE;
|
| + case 2:
|
| + return DIRECTORY;
|
| + default:
|
| + return null;
|
| + }
|
| + }
|
| +
|
| + static FileType decode(bindings.Decoder decoder0, int offset) {
|
| + int v = decoder0.decodeUint32(offset);
|
| + FileType result = new FileType(v);
|
| + if (result == null) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Bad value $v for enum FileType.');
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + String toString() {
|
| + switch(this) {
|
| + case UNKNOWN:
|
| + return 'FileType.UNKNOWN';
|
| + case REGULAR_FILE:
|
| + return 'FileType.REGULAR_FILE';
|
| + case DIRECTORY:
|
| + return 'FileType.DIRECTORY';
|
| + }
|
| + }
|
| +
|
| + int toJson() => value;
|
| +}
|
| +
|
| +
|
| +
|
| +class Timespec extends bindings.Struct {
|
| + static const List<bindings.StructDataHeader> kVersions = const [
|
| + const bindings.StructDataHeader(24, 0)
|
| + ];
|
| + int seconds = 0;
|
| + int nanoseconds = 0;
|
| +
|
| + Timespec() : super(kVersions.last.size);
|
| +
|
| + static Timespec deserialize(bindings.Message message) {
|
| + var decoder = new bindings.Decoder(message);
|
| + var result = decode(decoder);
|
| + if (decoder.excessHandles != null) {
|
| + decoder.excessHandles.forEach((h) => h.close());
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + static Timespec decode(bindings.Decoder decoder0) {
|
| + if (decoder0 == null) {
|
| + return null;
|
| + }
|
| + Timespec result = new Timespec();
|
| +
|
| + var mainDataHeader = decoder0.decodeStructDataHeader();
|
| + if (mainDataHeader.version <= kVersions.last.version) {
|
| + // Scan in reverse order to optimize for more recent versions.
|
| + for (int i = kVersions.length - 1; i >= 0; --i) {
|
| + if (mainDataHeader.version >= kVersions[i].version) {
|
| + if (mainDataHeader.size == kVersions[i].size) {
|
| + // Found a match.
|
| + break;
|
| + }
|
| + throw new bindings.MojoCodecError(
|
| + 'Header size doesn\'t correspond to known version size.');
|
| + }
|
| + }
|
| + } else if (mainDataHeader.size < kVersions.last.size) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Message newer than the last known version cannot be shorter than '
|
| + 'required by the last known version.');
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.seconds = decoder0.decodeInt64(8);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.nanoseconds = decoder0.decodeInt32(16);
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + void encode(bindings.Encoder encoder) {
|
| + var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last);
|
| +
|
| + encoder0.encodeInt64(seconds, 8);
|
| +
|
| + encoder0.encodeInt32(nanoseconds, 16);
|
| + }
|
| +
|
| + String toString() {
|
| + return "Timespec("
|
| + "seconds: $seconds" ", "
|
| + "nanoseconds: $nanoseconds" ")";
|
| + }
|
| +
|
| + Map toJson() {
|
| + Map map = new Map();
|
| + map["seconds"] = seconds;
|
| + map["nanoseconds"] = nanoseconds;
|
| + return map;
|
| + }
|
| +}
|
| +
|
| +
|
| +class TimespecOrNow extends bindings.Struct {
|
| + static const List<bindings.StructDataHeader> kVersions = const [
|
| + const bindings.StructDataHeader(24, 0)
|
| + ];
|
| + bool now = false;
|
| + Timespec timespec = null;
|
| +
|
| + TimespecOrNow() : super(kVersions.last.size);
|
| +
|
| + static TimespecOrNow deserialize(bindings.Message message) {
|
| + var decoder = new bindings.Decoder(message);
|
| + var result = decode(decoder);
|
| + if (decoder.excessHandles != null) {
|
| + decoder.excessHandles.forEach((h) => h.close());
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + static TimespecOrNow decode(bindings.Decoder decoder0) {
|
| + if (decoder0 == null) {
|
| + return null;
|
| + }
|
| + TimespecOrNow result = new TimespecOrNow();
|
| +
|
| + var mainDataHeader = decoder0.decodeStructDataHeader();
|
| + if (mainDataHeader.version <= kVersions.last.version) {
|
| + // Scan in reverse order to optimize for more recent versions.
|
| + for (int i = kVersions.length - 1; i >= 0; --i) {
|
| + if (mainDataHeader.version >= kVersions[i].version) {
|
| + if (mainDataHeader.size == kVersions[i].size) {
|
| + // Found a match.
|
| + break;
|
| + }
|
| + throw new bindings.MojoCodecError(
|
| + 'Header size doesn\'t correspond to known version size.');
|
| + }
|
| + }
|
| + } else if (mainDataHeader.size < kVersions.last.size) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Message newer than the last known version cannot be shorter than '
|
| + 'required by the last known version.');
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.now = decoder0.decodeBool(8, 0);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + var decoder1 = decoder0.decodePointer(16, true);
|
| + result.timespec = Timespec.decode(decoder1);
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + void encode(bindings.Encoder encoder) {
|
| + var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last);
|
| +
|
| + encoder0.encodeBool(now, 8, 0);
|
| +
|
| + encoder0.encodeStruct(timespec, 16, true);
|
| + }
|
| +
|
| + String toString() {
|
| + return "TimespecOrNow("
|
| + "now: $now" ", "
|
| + "timespec: $timespec" ")";
|
| + }
|
| +
|
| + Map toJson() {
|
| + Map map = new Map();
|
| + map["now"] = now;
|
| + map["timespec"] = timespec;
|
| + return map;
|
| + }
|
| +}
|
| +
|
| +
|
| +class FileInformation extends bindings.Struct {
|
| + static const List<bindings.StructDataHeader> kVersions = const [
|
| + const bindings.StructDataHeader(40, 0)
|
| + ];
|
| + FileType type = null;
|
| + int size = 0;
|
| + Timespec atime = null;
|
| + Timespec mtime = null;
|
| +
|
| + FileInformation() : super(kVersions.last.size);
|
| +
|
| + static FileInformation deserialize(bindings.Message message) {
|
| + var decoder = new bindings.Decoder(message);
|
| + var result = decode(decoder);
|
| + if (decoder.excessHandles != null) {
|
| + decoder.excessHandles.forEach((h) => h.close());
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + static FileInformation decode(bindings.Decoder decoder0) {
|
| + if (decoder0 == null) {
|
| + return null;
|
| + }
|
| + FileInformation result = new FileInformation();
|
| +
|
| + var mainDataHeader = decoder0.decodeStructDataHeader();
|
| + if (mainDataHeader.version <= kVersions.last.version) {
|
| + // Scan in reverse order to optimize for more recent versions.
|
| + for (int i = kVersions.length - 1; i >= 0; --i) {
|
| + if (mainDataHeader.version >= kVersions[i].version) {
|
| + if (mainDataHeader.size == kVersions[i].size) {
|
| + // Found a match.
|
| + break;
|
| + }
|
| + throw new bindings.MojoCodecError(
|
| + 'Header size doesn\'t correspond to known version size.');
|
| + }
|
| + }
|
| + } else if (mainDataHeader.size < kVersions.last.size) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Message newer than the last known version cannot be shorter than '
|
| + 'required by the last known version.');
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.type = FileType.decode(decoder0, 8);
|
| + if (result.type == null) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Trying to decode null union for non-nullable FileType.');
|
| + }
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.size = decoder0.decodeInt64(16);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + var decoder1 = decoder0.decodePointer(24, true);
|
| + result.atime = Timespec.decode(decoder1);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + var decoder1 = decoder0.decodePointer(32, true);
|
| + result.mtime = Timespec.decode(decoder1);
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + void encode(bindings.Encoder encoder) {
|
| + var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last);
|
| +
|
| + encoder0.encodeEnum(type, 8);
|
| +
|
| + encoder0.encodeInt64(size, 16);
|
| +
|
| + encoder0.encodeStruct(atime, 24, true);
|
| +
|
| + encoder0.encodeStruct(mtime, 32, true);
|
| + }
|
| +
|
| + String toString() {
|
| + return "FileInformation("
|
| + "type: $type" ", "
|
| + "size: $size" ", "
|
| + "atime: $atime" ", "
|
| + "mtime: $mtime" ")";
|
| + }
|
| +
|
| + Map toJson() {
|
| + Map map = new Map();
|
| + map["type"] = type;
|
| + map["size"] = size;
|
| + map["atime"] = atime;
|
| + map["mtime"] = mtime;
|
| + return map;
|
| + }
|
| +}
|
| +
|
| +
|
| +class DirectoryEntry extends bindings.Struct {
|
| + static const List<bindings.StructDataHeader> kVersions = const [
|
| + const bindings.StructDataHeader(24, 0)
|
| + ];
|
| + FileType type = null;
|
| + String name = null;
|
| +
|
| + DirectoryEntry() : super(kVersions.last.size);
|
| +
|
| + static DirectoryEntry deserialize(bindings.Message message) {
|
| + var decoder = new bindings.Decoder(message);
|
| + var result = decode(decoder);
|
| + if (decoder.excessHandles != null) {
|
| + decoder.excessHandles.forEach((h) => h.close());
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + static DirectoryEntry decode(bindings.Decoder decoder0) {
|
| + if (decoder0 == null) {
|
| + return null;
|
| + }
|
| + DirectoryEntry result = new DirectoryEntry();
|
| +
|
| + var mainDataHeader = decoder0.decodeStructDataHeader();
|
| + if (mainDataHeader.version <= kVersions.last.version) {
|
| + // Scan in reverse order to optimize for more recent versions.
|
| + for (int i = kVersions.length - 1; i >= 0; --i) {
|
| + if (mainDataHeader.version >= kVersions[i].version) {
|
| + if (mainDataHeader.size == kVersions[i].size) {
|
| + // Found a match.
|
| + break;
|
| + }
|
| + throw new bindings.MojoCodecError(
|
| + 'Header size doesn\'t correspond to known version size.');
|
| + }
|
| + }
|
| + } else if (mainDataHeader.size < kVersions.last.size) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Message newer than the last known version cannot be shorter than '
|
| + 'required by the last known version.');
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.type = FileType.decode(decoder0, 8);
|
| + if (result.type == null) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Trying to decode null union for non-nullable FileType.');
|
| + }
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.name = decoder0.decodeString(16, false);
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + void encode(bindings.Encoder encoder) {
|
| + var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last);
|
| +
|
| + encoder0.encodeEnum(type, 8);
|
| +
|
| + encoder0.encodeString(name, 16, false);
|
| + }
|
| +
|
| + String toString() {
|
| + return "DirectoryEntry("
|
| + "type: $type" ", "
|
| + "name: $name" ")";
|
| + }
|
| +
|
| + Map toJson() {
|
| + Map map = new Map();
|
| + map["type"] = type;
|
| + map["name"] = name;
|
| + return map;
|
| + }
|
| +}
|
| +
|
| +
|
|
|