class Session
attr_reader :connection
- def initialize(server_info, mboxes)
- @server_info = server_info
+ def initialize(config)
+ @login = config[:server][:login]
+ @password = config[:server][:password]
- @connection = Ecore::Con::Server.new(2 | 16,
- @server_info[:host],
- @server_info[:port])
+ flags = 2
+ flags |= 16 if config[:server][:use_ssl]
+
+ @connection = Ecore::Con::Server.new(flags,
+ config[:server][:host],
+ config[:server][:port])
@buffer = ""
@tag_id = 0
@requests = []
- @mboxes = mboxes.dup
+ @mboxes = config[:mailboxes].dup
@state = :disconnected
@handlers = [
handle_response(Response.deserialize(line))
if @state == :connected
- login(@server_info[:login], @server_info[:password])
+ login(@login, @password)
end
end
end
class LogoutRequest < Request
- def initialize(session)
- super
- end
-
def serialize
"LOGOUT"
end