]> git.llucax.com Git - z.facultad/75.68/celdas.git/blob - trunk/src/SistemaAutonomo.tz
Evitamos memory leaks.
[z.facultad/75.68/celdas.git] / trunk / src / SistemaAutonomo.tz
1 \r
2 @plugin "plugin.so" (SAbrFunctions).\r
3 \r
4 @define ANY -3000000.\r
5 \r
6 Object : Teoria (aka Teorias) {\r
7 \r
8         + variables:\r
9                 ptr (pointer).\r
10 \r
11         + to init named name (string) with-action action (string)\r
12                         executed k = 1 (int) succeeded p = 1 (int):\r
13                 ptr = TeoriaNew(name, action, k, p).\r
14                 \r
15         + to set-dato-inicial name theName (string) value theValue (float):\r
16                 TeoriaSetDatoInicial(ptr, theName, theValue).\r
17 \r
18         + to set-dato-final name theName (string) value theValue (float):\r
19                 TeoriaSetDatoFinal(ptr, theName, theValue).\r
20 \r
21         + to get-nombre:\r
22                 return TeoriaGetNombre(ptr).\r
23 \r
24         + to get-accion:\r
25                 return TeoriaGetAccion(ptr).\r
26 \r
27         - to get-ptr:\r
28                 return ptr.\r
29 \r
30         - to set-ptr ptr p (pointer):\r
31                 ptr = p.\r
32 \r
33 }\r
34 \r
35 Object : SistemaAutonomo {\r
36 \r
37         + variables:\r
38                 ptr (pointer).\r
39 \r
40         + to init:\r
41                 ptr = SistemaAutonomoNew().     \r
42                 \r
43         + to add teoria theTeoria (object):\r
44                 SistemaAutonomoAddTeoria(ptr, (theTeoria get-ptr)).\r
45 \r
46         + to set-entorno value theValue (float) with-name theName (string):\r
47                 SistemaAutonomoSetValue(ptr, theName, theValue).\r
48 \r
49         + to set-dato-final value theValue (float) with-name theName (string):\r
50                 SistemaAutonomoSetDatoFinal(ptr, theName, theValue).\r
51 \r
52         + to update-entorno entorno theEntorno (hash):\r
53                 nombre (string).\r
54                 foreach nombre in keys(theEntorno): {\r
55                         self set-entorno value theEntorno{nombre} with-name nombre.\r
56                 }\r
57 \r
58         + to update-datos-finales datos-finales datos (hash):\r
59                 nombre (string).\r
60                 foreach nombre in keys(datos): {\r
61                         self set-dato-final value datos{nombre} with-name nombre.\r
62                 }\r
63 \r
64         + to plan:\r
65                 SistemaAutonomoPlan(ptr).\r
66 \r
67         + to has-next-theory:\r
68                 return SistemaAutonomoHasNextTheory(ptr).\r
69 \r
70         + to get-next-theory:\r
71                 t (object).\r
72                 t = new Teoria.\r
73                 t set-ptr ptr SistemaAutonomoGetNextTheory(ptr).\r
74                 return t.\r
75 \r
76         + to validate theory theTheory (object):\r
77                 return SistemaAutonomoValidateTheory(ptr, (theTheory get-ptr)).\r
78 \r
79         + to destroy:\r
80                 SistemaAutonomoDelete(ptr).\r
81 }\r
82 \r