require 'drb'
require 'delegate'

class Videospiller  
  def hent_streng   # pass-by-value
    "En streng, en streng, mitt kongerike for en streng."
  end

  def hent_standard_utput  # pass-by-reference da IO er en av
    $stdout                # klassene som ikke kan serialiseres.
  end

  # Gjør slik at Videospiller ikke kan serialiseres.
  include DRbUndumped 

  class Fjernkontroll < SimpleDelegator
    def initialize( spiller )
      @spiller = DRbObject.new( spiller )
    end
    def start
      puts "Push play on tape."
    end
  end

  def ny_fjernkontroll
    Fjernkontroll.new( self )  
  end

end

Tjener = Videospiller
require 'drb_server.rb' # Start tjeneren med våre utvidelser, og
# gjenbruker koden fra forrige eksempel.
