# File lib/rubyipmi/freeipmi/connection.rb, line 14
      def initialize(user, pass, host, opts)
        @options = Rubyipmi::ObservableHash.new
        raise("Must provide a host to connect to") unless host
        @options["hostname"] = host
        # Credentials can also be stored in the freeipmi configuration file
        # So they are not required
        @options["username"] = user if user
        @options["password"] = pass if pass
        if opts.has_key?(:privilege)
          @options["privilege-level"] = opts[:privilege]        # privilege type
        end
        # Note: rubyipmi should auto detect which driver to use so its unnecessary to specify the driver unless
        #       the user really wants to
        @options['driver-type'] = drivers_map[opts[:driver]] unless drivers_map[opts[:driver]].nil?
      end