// print("prop: " + prop);
var _this = this;
string str_return;
-
+
//print(JSON.stringify(ch, null,4));
while (true) {
-
-
- var status = ch.read_line( str_return, len, term_pos );
+ string buffer;
+ size_t term_pos;
+ size_t len;
+ IOStatus status;
+ try {
+ status = ch.read_line( out buffer, out len, out term_pos );
+ } catch (Error e) {
+ //FIXme
+ break; // ??
+
+ }
// print('status: ' +JSON.stringify(status));
// print(JSON.stringify(x));
switch(status) {
case GLib.IOStatus.NORMAL:
//write(fn, x.str);
- if (this.listeners[prop]) {
- this.listeners[prop].call(this, x.str_return);
+ //if (this.listeners[prop]) {
+ // this.listeners[prop].call(this, x.str_return);
+ //}
+ if (ch == this.out_ch) {
+ this.output += buffer;
+ } else {
+ this.stderr += buffer;
}
- _this[prop] += x.str_return;
- if (_this.debug) {
- print(prop + ':' + x.str_return.replace(/\n/, ''));
+ //_this[prop] += x.str_return;
+ if (this.cfg.debug) {
+ stdout.printf("%s : %s", prop , str_return);
}
- if (this.async) {
+ if (this.cfg.async) {
try {
- if (imports.gi.Gtk.events_pending()) {
- imports.gi.Gtk.main_iteration();
+ if ( Gtk.events_pending()) {
+ Gtk.main_iteration();
}
} catch(Error e) {