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.



316
317
318
319
320
# File 'lib/cosmos/win32/win32.rb', line 316

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

Instance Method Details

#readObject



326
327
328
329
# File 'lib/cosmos/win32/win32.rb', line 326

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

#read_allObject



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

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

#read_all_errObject



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

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

#read_errObject



339
340
341
342
# File 'lib/cosmos/win32/win32.rb', line 339

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

#write(data) ⇒ Object



322
323
324
# File 'lib/cosmos/win32/win32.rb', line 322

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