#lang scheme
;(require mzlib/trace)
;(require srfi/41)

(require scheme/class)

(provide agente%)

;;;;;;;;;;;;;;;;AGENTES;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define agente% 
  (class object%
    (field
     (entrada 'proc)
     (tarea 'proc)
     )
;;;;;;;;;;;;;;;;
    (define get-tarea
      (lambda ()
        tarea))
    (define get-entrada
      (lambda ()
        entrada))
;;;;;;;;;;;;;;;;
    (define set-tarea
      (lambda (proc)
        (set! tarea proc) ))
    (define set-entrada
      (lambda (proc)
        (set! entrada proc) ))
    (define procesar! 
      (lambda () 
        "cada tipo de agente ha de establecer este método" ))
    (public get-tarea get-entrada set-tarea set-entrada procesar!)
    (super-new) ))
