| // Copyright 2015 Google. All rights reserved. Use of this source code is |
| // governed by a BSD-style license that can be found in the LICENSE file. |
| |
| library wip.multiplex; |
| |
| import 'dart:io' show stderr; |
| |
| import 'package:args/args.dart' show ArgParser; |
| import 'package:logging/logging.dart' |
| show hierarchicalLoggingEnabled, Level, Logger, LogRecord; |
| import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart' |
| show ChromeConnection; |
| |
| import 'multiplex_impl.dart' show Server; |
| |
| void main(List<String> argv) async { |
| var args = (new ArgParser() |
| ..addFlag('verbose', abbr: 'v', defaultsTo: false, negatable: false) |
| ..addFlag('model_dom', defaultsTo: false, negatable: true) |
| ..addOption('chrome_host', defaultsTo: 'localhost') |
| ..addOption('chrome_port', defaultsTo: '9222') |
| ..addOption('listen_port', defaultsTo: '9223')) |
| .parse(argv); |
| |
| hierarchicalLoggingEnabled = true; |
| |
| if (args['verbose'] == true) { |
| Logger.root.level = Level.ALL; |
| } else { |
| Logger.root.level = Level.WARNING; |
| } |
| |
| Logger.root.onRecord.listen((LogRecord rec) { |
| stderr.writeln('${rec.level.name}: ${rec.time}: ${rec.message}'); |
| }); |
| |
| var cr = new ChromeConnection( |
| args['chrome_host'] as String, int.parse(args['chrome_port'] as String)); |
| new Server(int.parse(args['listen_port'] as String), cr, |
| modelDom: args['model_dom'] as bool); |
| } |