Class: QDA::Filters::Win32Process::Win32popenIO

Inherits:
Object
  • Object
show all
Defined in:
lib/cosmos/win32/win32.rb

Instance Method Summary collapse

Constructor Details

#initialize(hRead, hWrite, hError) ⇒ Win32popenIO

Returns a new instance of Win32popenIO.



331
332
333
334
335
# File 'lib/cosmos/win32/win32.rb', line 331

def initialize(hRead, hWrite, hError)
  @hRead  = hRead
  @hWrite = hWrite
  @hError = hError
end

Instance Method Details

#readObject



341
342
343
344
# File 'lib/cosmos/win32/win32.rb', line 341

def read
  sleep(0.01) while Win32Process.peek_named_pipe(@hRead).zero?
  Win32Process.read_file(@hRead)
end

#read_allObject



346
347
348
349
350
351
352
# File 'lib/cosmos/win32/win32.rb', line 346

def read_all
  all = ''
  until (buffer = read).empty?
    all << buffer
  end
  all
end

#read_all_errObject



359
360
361
362
363
364
365
# File 'lib/cosmos/win32/win32.rb', line 359

def read_all_err
  all = ''
  until (buffer = read_err).empty?
    all << buffer
  end
  all
end

#read_errObject



354
355
356
357
# File 'lib/cosmos/win32/win32.rb', line 354

def read_err
  sleep(0.01) while Win32Process.peek_named_pipe(@hError).zero?
  Win32Process.read_file(@hError)
end

#write(data) ⇒ Object



337
338
339
# File 'lib/cosmos/win32/win32.rb', line 337

def write(data)
  Win32Process.write_file(@hWrite, data.to_s)
end