module subastas{ interface clienteSubastas{ readonly attribute string identificacion; void finSubasta(); void nuevoValor(in float valor); }; typedef sequence lista_clientes; interface coordinadorSubasta{ /** * coordinadorSubasta: interfaz de objetos que gestionan el * desarrollo de la subasta de cada bien subastado por la empresa. * La subasta pasara por tres estados: * Inscripcion * Abierta * Cerrada * */ readonly attribute clienteSubastas ganador_provisional; readonly attribute lista_clientes clientes; readonly attribute float valor; readonly attribute string descripcion; // Inscripcion -> Abierta -> Cerrada readonly attribute string estado; void inscribirCliente(in clienteSubastas cl); void abrirSubasta(); boolean pujar(in float cantidad, in clienteSubastas cl); void ultimaPuja(in clienteSubastas cl); clienteSubastas ganador(); void cerrarSubasta(); }; typedef sequence lista_subastas; interface gestorSubastas{ coordinadorSubasta crearSubasta(in float valor, in string desc, in long tiempo); void destruirSubasta(in coordinadorSubasta cs); lista_subastas localizarSubasta(in string palabra); }; };