Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: mojo/dart/packages/mojo_services/lib/authentication/authentication_impl_db.mojom.dart

Issue 1466733002: Google OAuth Device Flow support for FNL (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Removed data_unittest.py Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 library authentication_impl_db_mojom;
6
7 import 'package:mojo/bindings.dart' as bindings;
8
9 class Db extends bindings.Struct {
10 static const List<bindings.StructDataHeader> kVersions = const [
11 const bindings.StructDataHeader(24, 0)
12 ];
13 int version = 0;
14 Map<String, String> lastSelectedAccounts = null;
15
16 Db() : super(kVersions.last.size);
17
18 static Db deserialize(bindings.Message message) {
19 var decoder = new bindings.Decoder(message);
20 var result = decode(decoder);
21 if (decoder.excessHandles != null) {
22 decoder.excessHandles.forEach((h) => h.close());
23 }
24 return result;
25 }
26
27 static Db decode(bindings.Decoder decoder0) {
28 if (decoder0 == null) {
29 return null;
30 }
31 Db result = new Db();
32
33 var mainDataHeader = decoder0.decodeStructDataHeader();
34 if (mainDataHeader.version <= kVersions.last.version) {
35 // Scan in reverse order to optimize for more recent versions.
36 for (int i = kVersions.length - 1; i >= 0; --i) {
37 if (mainDataHeader.version >= kVersions[i].version) {
38 if (mainDataHeader.size == kVersions[i].size) {
39 // Found a match.
40 break;
41 }
42 throw new bindings.MojoCodecError(
43 'Header size doesn\'t correspond to known version size.');
44 }
45 }
46 } else if (mainDataHeader.size < kVersions.last.size) {
47 throw new bindings.MojoCodecError(
48 'Message newer than the last known version cannot be shorter than '
49 'required by the last known version.');
50 }
51 if (mainDataHeader.version >= 0) {
52 result.version = decoder0.decodeUint32(8);
53 }
54 if (mainDataHeader.version >= 0) {
55 var decoder1 = decoder0.decodePointer(16, false);
56 {
57 decoder1.decodeDataHeaderForMap();
58 List<String> keys0;
59 List<String> values0;
60 {
61 var decoder2 = decoder1.decodePointer(
62 bindings.ArrayDataHeader.kHeaderSize, false);
63 {
64 var si2 = decoder2.decodeDataHeaderForPointerArray(
65 bindings.kUnspecifiedArrayLength);
66 keys0 = new List<String>(si2.numElements);
67 for (int i2 = 0; i2 < si2.numElements; ++i2) {
68 keys0[i2] = decoder2.decodeString(
69 bindings.ArrayDataHeader.kHeaderSize +
70 bindings.kPointerSize * i2,
71 false);
72 }
73 }
74 }
75 {
76 var decoder2 = decoder1.decodePointer(
77 bindings.ArrayDataHeader.kHeaderSize + bindings.kPointerSize,
78 false);
79 {
80 var si2 = decoder2.decodeDataHeaderForPointerArray(keys0.length);
81 values0 = new List<String>(si2.numElements);
82 for (int i2 = 0; i2 < si2.numElements; ++i2) {
83 values0[i2] = decoder2.decodeString(
84 bindings.ArrayDataHeader.kHeaderSize +
85 bindings.kPointerSize * i2,
86 false);
87 }
88 }
89 }
90 result.lastSelectedAccounts =
91 new Map<String, String>.fromIterables(keys0, values0);
92 }
93 }
94 return result;
95 }
96
97 void encode(bindings.Encoder encoder) {
98 var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last);
99 try {
100 encoder0.encodeUint32(version, 8);
101 } on bindings.MojoCodecError catch (e) {
102 e.message = "Error encountered while encoding field "
103 "version of struct Db: $e";
104 rethrow;
105 }
106 try {
107 if (lastSelectedAccounts == null) {
108 encoder0.encodeNullPointer(16, false);
109 } else {
110 var encoder1 = encoder0.encoderForMap(16);
111 var keys0 = lastSelectedAccounts.keys.toList();
112 var values0 = lastSelectedAccounts.values.toList();
113
114 {
115 var encoder2 = encoder1.encodePointerArray(
116 keys0.length,
117 bindings.ArrayDataHeader.kHeaderSize,
118 bindings.kUnspecifiedArrayLength);
119 for (int i1 = 0; i1 < keys0.length; ++i1) {
120 encoder2.encodeString(
121 keys0[i1],
122 bindings.ArrayDataHeader.kHeaderSize +
123 bindings.kPointerSize * i1,
124 false);
125 }
126 }
127
128 {
129 var encoder2 = encoder1.encodePointerArray(
130 values0.length,
131 bindings.ArrayDataHeader.kHeaderSize + bindings.kPointerSize,
132 bindings.kUnspecifiedArrayLength);
133 for (int i1 = 0; i1 < values0.length; ++i1) {
134 encoder2.encodeString(
135 values0[i1],
136 bindings.ArrayDataHeader.kHeaderSize +
137 bindings.kPointerSize * i1,
138 false);
139 }
140 }
141 }
142 } on bindings.MojoCodecError catch (e) {
143 e.message = "Error encountered while encoding field "
144 "lastSelectedAccounts of struct Db: $e";
145 rethrow;
146 }
147 }
148
149 String toString() {
150 return "Db("
151 "version: $version"
152 ", "
153 "lastSelectedAccounts: $lastSelectedAccounts"
154 ")";
155 }
156
157 Map toJson() {
158 Map map = new Map();
159 map["version"] = version;
160 map["lastSelectedAccounts"] = lastSelectedAccounts;
161 return map;
162 }
163 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698