2005-07-17 07:06:05 +00:00
|
|
|
module Rex
|
|
|
|
module Ui
|
|
|
|
|
|
|
|
###
|
|
|
|
#
|
|
|
|
# This module provides a subscriber interface to input/output.
|
|
|
|
#
|
|
|
|
###
|
|
|
|
module Subscriber
|
|
|
|
|
|
|
|
##
|
|
|
|
#
|
|
|
|
# Subscribes to the output half of the user interface.
|
|
|
|
#
|
|
|
|
##
|
|
|
|
module Output
|
|
|
|
|
2005-11-15 05:22:13 +00:00
|
|
|
#
|
|
|
|
# Wraps user_output.print_line
|
|
|
|
#
|
2005-07-17 07:06:05 +00:00
|
|
|
def print_line(msg)
|
|
|
|
user_output.print_line(msg) if (user_output)
|
|
|
|
end
|
|
|
|
|
2005-11-15 05:22:13 +00:00
|
|
|
#
|
|
|
|
# Wraps user_output.print_status
|
|
|
|
#
|
2005-07-17 07:06:05 +00:00
|
|
|
def print_status(msg)
|
|
|
|
user_output.print_status(msg) if (user_output)
|
|
|
|
end
|
|
|
|
|
2005-11-15 05:22:13 +00:00
|
|
|
#
|
|
|
|
# Wraps user_output.print_error
|
|
|
|
#
|
2005-07-17 07:06:05 +00:00
|
|
|
def print_error(msg)
|
|
|
|
user_output.print_error(msg) if (user_output)
|
|
|
|
end
|
|
|
|
|
2005-11-15 05:22:13 +00:00
|
|
|
#
|
|
|
|
# Wraps user_output.print_good
|
|
|
|
#
|
2005-07-17 07:06:05 +00:00
|
|
|
def print_good(msg)
|
|
|
|
user_output.print_good(msg) if (user_output)
|
|
|
|
end
|
|
|
|
|
2005-11-15 05:22:13 +00:00
|
|
|
#
|
|
|
|
# Wraps user_output.print
|
|
|
|
#
|
2005-07-17 07:06:05 +00:00
|
|
|
def print(msg)
|
|
|
|
user_output.print(msg) if (user_output)
|
|
|
|
end
|
|
|
|
|
2005-11-15 05:22:13 +00:00
|
|
|
#
|
|
|
|
# Wraps user_output.flush
|
|
|
|
#
|
2005-07-17 07:06:05 +00:00
|
|
|
def flush
|
|
|
|
user_output.flush if (user_output)
|
|
|
|
end
|
|
|
|
|
2005-11-15 05:22:13 +00:00
|
|
|
#
|
|
|
|
# The user output handle.
|
|
|
|
#
|
2005-07-17 07:06:05 +00:00
|
|
|
attr_accessor :user_output
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
##
|
|
|
|
#
|
|
|
|
# Subscribes to the input half of the user interface.
|
|
|
|
#
|
|
|
|
##
|
|
|
|
module Input
|
|
|
|
|
2005-11-15 05:22:13 +00:00
|
|
|
#
|
|
|
|
# Gets a line of input from the user_input handle by calling gets.
|
|
|
|
#
|
2005-07-17 07:06:05 +00:00
|
|
|
def gets
|
|
|
|
user_input.gets if (user_input)
|
|
|
|
end
|
2005-11-15 05:22:13 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# The user intput handle.
|
|
|
|
#
|
2005-07-17 07:06:05 +00:00
|
|
|
attr_accessor :user_input
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
include Output
|
|
|
|
include Input
|
|
|
|
|
|
|
|
#
|
|
|
|
# Sets the input and output handles.
|
|
|
|
#
|
|
|
|
def init_ui(input = nil, output = nil)
|
|
|
|
self.user_input = input
|
|
|
|
self.user_output = output
|
|
|
|
end
|
|
|
|
|
|
|
|
#
|
|
|
|
# Disables input/output
|
|
|
|
#
|
|
|
|
def reset_ui
|
|
|
|
self.user_input = nil
|
|
|
|
self.user_output = nil
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|