La documentación de la practica
[pcd.git] / python / subastas.idl
1 module subastas{
2
3
4     interface clienteSubastas{
5         readonly attribute string identificacion;
6         void finSubasta();
7         void nuevoValor(in float valor);
8     };
9
10     typedef sequence<clienteSubastas> lista_clientes;
11     interface coordinadorSubasta{
12         /** 
13          * coordinadorSubasta: interfaz de objetos que gestionan el
14          * desarrollo de la subasta de cada bien subastado por la empresa.
15
16          * La subasta pasara por tres estados:
17          *  Inscripcion
18          *  Abierta
19          *  Cerrada
20          * 
21          */
22         
23         readonly attribute clienteSubastas ganador_provisional;
24         readonly attribute lista_clientes clientes;
25
26         readonly attribute float valor;
27         readonly attribute string descripcion;
28         // Inscripcion -> Abierta -> Cerrada
29         readonly attribute string estado;
30
31         void inscribirCliente(in clienteSubastas cl);
32         void abrirSubasta();
33         boolean pujar(in float cantidad, in clienteSubastas cl);
34         void ultimaPuja(in clienteSubastas cl);
35         clienteSubastas ganador();
36         void cerrarSubasta();
37     };
38
39     typedef sequence<coordinadorSubasta> lista_subastas;
40     interface gestorSubastas{
41         coordinadorSubasta crearSubasta(in float valor, in string desc, in long tiempo);
42         void destruirSubasta(in coordinadorSubasta cs);
43         lista_subastas localizarSubasta(in string palabra);
44     };
45
46 };