blob: bd44740413b92025f991a320ebd2e3975e704d41 [file] [log] [blame]
// Copyright (c) 2014, 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.
library io_view_element;
import 'dart:async';
import 'observatory_element.dart';
import 'service_ref.dart';
import 'package:observatory/service.dart';
import 'package:polymer/polymer.dart';
@CustomTag('io-view')
class IOViewElement extends ObservatoryElement {
@published ServiceMap io;
IOViewElement.created() : super.created();
void refresh(var done) {
io.reload().whenComplete(done);
}
}
@CustomTag('io-ref')
class IORefElement extends ServiceRefElement {
IORefElement.created() : super.created();
}
@CustomTag('io-http-server-list-view')
class IOHttpServerListViewElement extends ObservatoryElement {
@published ServiceMap list;
IOHttpServerListViewElement.created() : super.created();
void refresh(var done) {
list.reload().whenComplete(done);
}
}
@CustomTag('io-http-server-ref')
class IOHttpServerRefElement extends ServiceRefElement {
IOHttpServerRefElement.created() : super.created();
}
@CustomTag('io-http-server-view')
class IOHttpServerViewElement extends ObservatoryElement {
// TODO(ajohnsen): Create a HttpServer object.
@published ServiceMap httpServer;
Timer _updateTimer;
IOHttpServerViewElement.created() : super.created();
void refresh(var done) {
httpServer.reload().whenComplete(done);
}
void _updateHttpServer() {
refresh(() {
if (_updateTimer != null) {
_updateTimer = new Timer(new Duration(seconds: 1), _updateHttpServer);
}
});
}
@override
void attached() {
super.attached();
// Start a timer to update the isolate summary once a second.
_updateTimer = new Timer(new Duration(seconds: 1), _updateHttpServer);
}
@override
void detached() {
super.detached();
if (_updateTimer != null) {
_updateTimer.cancel();
_updateTimer = null;
}
}
}
@CustomTag('io-http-server-connection-view')
class IOHttpServerConnectionViewElement extends ObservatoryElement {
@published ServiceMap connection;
Timer _updateTimer;
IOHttpServerConnectionViewElement.created() : super.created();
void refresh(var done) {
connection.reload().whenComplete(done);
}
void _updateHttpServer() {
refresh(() {
if (_updateTimer != null) {
_updateTimer = new Timer(new Duration(seconds: 1), _updateHttpServer);
}
});
}
@override
void attached() {
super.attached();
// Start a timer to update the isolate summary once a second.
_updateTimer = new Timer(new Duration(seconds: 1), _updateHttpServer);
}
@override
void detached() {
super.detached();
if (_updateTimer != null) {
_updateTimer.cancel();
_updateTimer = null;
}
}
}
@CustomTag('io-http-server-connection-ref')
class IOHttpServerConnectionRefElement extends ServiceRefElement {
IOHttpServerConnectionRefElement.created() : super.created();
}
@CustomTag('io-socket-ref')
class IOSocketRefElement extends ServiceRefElement {
IOSocketRefElement.created() : super.created();
}
@CustomTag('io-socket-list-view')
class IOSocketListViewElement extends ObservatoryElement {
@published ServiceMap list;
IOSocketListViewElement.created() : super.created();
void refresh(var done) {
list.reload().whenComplete(done);
}
}
@CustomTag('io-socket-view')
class IOSocketViewElement extends ObservatoryElement {
@published Socket socket;
IOSocketViewElement.created() : super.created();
void refresh(var done) {
socket.reload().whenComplete(done);
}
}
@CustomTag('io-web-socket-ref')
class IOWebSocketRefElement extends ServiceRefElement {
IOWebSocketRefElement.created() : super.created();
}
@CustomTag('io-web-socket-list-view')
class IOWebSocketListViewElement extends ObservatoryElement {
@published ServiceMap list;
IOWebSocketListViewElement.created() : super.created();
void refresh(var done) {
list.reload().whenComplete(done);
}
}
@CustomTag('io-web-socket-view')
class IOWebSocketViewElement extends ObservatoryElement {
@published ServiceMap webSocket;
IOWebSocketViewElement.created() : super.created();
void refresh(var done) {
webSocket.reload().whenComplete(done);
}
}
@CustomTag('io-random-access-file-list-view')
class IORandomAccessFileListViewElement extends ObservatoryElement {
@published ServiceMap list;
IORandomAccessFileListViewElement.created() : super.created();
void refresh(var done) {
list.reload().whenComplete(done);
}
}
@CustomTag('io-random-access-file-ref')
class IORandomAccessFileRefElement extends ServiceRefElement {
IORandomAccessFileRefElement.created() : super.created();
}
@CustomTag('io-random-access-file-view')
class IORandomAccessFileViewElement extends ObservatoryElement {
// TODO(ajohnsen): Create a RandomAccessFile object.
@published ServiceMap file;
Timer _updateTimer;
IORandomAccessFileViewElement.created() : super.created();
void refresh(var done) {
file.reload().whenComplete(done);
}
void _updateFile() {
refresh(() {
if (_updateTimer != null) {
_updateTimer = new Timer(new Duration(seconds: 1), _updateFile);
}
});
}
@override
void attached() {
super.attached();
// Start a timer to update the isolate summary once a second.
_updateTimer = new Timer(new Duration(seconds: 1), _updateFile);
}
@override
void detached() {
super.detached();
if (_updateTimer != null) {
_updateTimer.cancel();
_updateTimer = null;
}
}
}
@CustomTag('io-process-list-view')
class IOProcessListViewElement extends ObservatoryElement {
@published ServiceMap list;
IOProcessListViewElement.created() : super.created();
void refresh(var done) {
list.reload().whenComplete(done);
}
}
@CustomTag('io-process-ref')
class IOProcessRefElement extends ServiceRefElement {
// Only display the process name when small is set.
@published bool small = false;
IOProcessRefElement.created() : super.created();
}
@CustomTag('io-process-view')
class IOProcessViewElement extends ObservatoryElement {
// TODO(ajohnsen): Create a Process object.
@published ServiceMap process;
Timer _updateTimer;
IOProcessViewElement.created() : super.created();
void refresh(var done) {
process.reload().whenComplete(done);
}
void _updateFile() {
refresh(() {
if (_updateTimer != null) {
_updateTimer = new Timer(new Duration(seconds: 1), _updateFile);
}
});
}
@override
void attached() {
super.attached();
// Start a timer to update the isolate summary once a second.
_updateTimer = new Timer(new Duration(seconds: 1), _updateFile);
}
@override
void detached() {
super.detached();
if (_updateTimer != null) {
_updateTimer.cancel();
_updateTimer = null;
}
}
}