Index: runtime/observatory/lib/src/repositories/flag.dart |
diff --git a/runtime/observatory/lib/src/repositories/flag.dart b/runtime/observatory/lib/src/repositories/flag.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9a644e60323a209ec502c7ba35f60f5c010f2f13 |
--- /dev/null |
+++ b/runtime/observatory/lib/src/repositories/flag.dart |
@@ -0,0 +1,34 @@ |
+// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file |
+ |
+part of repositories; |
+ |
+class Flag implements M.Flag { |
+ final String name; |
+ final String comment; |
+ final bool modified; |
+ final String valueAsString; |
+ Flag(this.name, this.comment, this.modified, this.valueAsString) { |
+ assert(name != null); |
+ assert(comment != null); |
+ assert(modified != null); |
+ } |
+} |
+ |
+class FlagsRepository implements M.FlagsRepository { |
+ Future<Iterable<Flag>> list(M.VM vm) async{ |
+ if (vm is S.VM) { |
+ List<Map> flags = ((await vm.getFlagList()) as S.ServiceMap)['flags']; |
+ return flags.map(_toFlag); |
+ } |
+ return const []; |
+ } |
+ |
+ static _toFlag(Map map){ |
+ return new Flag(map['name'], |
+ map['comment'], |
+ map['modified'], |
+ map['valueAsString']); |
+ } |
+} |