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

Unified Diff: frog/lib/node/os.dart

Issue 9034014: Add support for the node net module. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: new version of minfrog Created 8 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: frog/lib/node/os.dart
===================================================================
--- frog/lib/node/os.dart (revision 0)
+++ frog/lib/node/os.dart (revision 0)
@@ -0,0 +1,64 @@
+// module os
+
+#library('os');
+#import('node.dart');
+#import('nodeimpl.dart');
+
+class Os {
+ var _os;
+ Os(this._os);
+ String hostname() native "return this._os.hostname();";
+ String type() native "return this._os.type();";
+ String platform() native "return this._os.platform();";
+ String arch() native "return this._os.arch();";
+ String release() native "return this._os.release();";
+ int uptime() native "return this._os.uptime();";
+ List<double> loadAvg() => new NativeListPrimitiveElement<double>(_loadavg());
+ var _loadavg() native "return this._os.loadavg();";
+ int totalmem() native "return this._os.totalmem();";
+ int freemem() native "return this._os.freemem();";
+ List<OsCpu> cpus() => new _NativeList<OsCpu>(_cpus(),
+ (cpu) => new OsCpu(cpu));
+ var _cpus() native "return this._os.cpus()";
+ Map<String, List<OsNetworkInterface>> networkInterfaces() =>
+ new NativeMap<List<OsNetworkInterface>>(_netInts(),
+ (var netIntList) => new NativeList<OsNetworkInterface>(netIntList,
+ (var netInt) => new OsNetworkInterface(netInt)));
+ var _netInts() native "return this._os.networkInterfaces();";
+}
+
+Os get os() => new Os(require('os'));
+
+class OsLoadAvg {
+ var _loadavg;
+ OsLoadAvg(this._loadavg);
+ int get length() native "return this._loadavg.length;";
+ double operator[](int index) native "return this._loadavg[index];";
+}
+
+class OsCpu {
+ var _cpu;
+ OsCpu(this._cpu);
+ String get model() native "return this._cpu.model;";
+ int get speed() native "return this._cpu.speed;";
+ OsCpuTimes get times() => new OsCpuTimes(_times());
+ var _times() native "return this._cpu.times;";
+}
+
+class OsCpuTimes {
+ var _times;
+ OsCpuTimes(this._times);
+ int get user() native "return this._times.user;";
+ int get nice() native "return this._times.nice;";
+ int get sys() native "return this._times.sys;";
+ int get idle() native "return this._times.idle;";
+ int get irq() native "return this._times.irq;";
+}
+
+class OsNetworkInterface {
+ var _netInt;
+ OsNetworkInterface(this._netInt);
+ String get address() native "return this._netInt.address;";
+ String get family() native "return this._netInt.family;";
+ bool get internal() native "return this._netInt.internal;";
+}

Powered by Google App Engine
This is Rietveld 408576698