1 #include "sistemaautonomo.h"
\r
2 #include "slBrevePluginAPI.h"
\r
5 /////////////////////////// CTeoria /////////////////////////
\r
7 // pointer{Teoria} TeoriaNew(string, string, int, int)
\r
8 int SAbrTeoriaNew(brEval args[], brEval* result, void* data)
\r
10 result->set(new CTeoria(
\r
18 // void TeoriaSetDatoInicial(pointer{Teoria}, string, float)
\r
19 int SAbrTeoriaSetDatoInicial(brEval args[], brEval* result, void* data)
\r
21 CTeoria* t = (CTeoria*) BRPOINTER(args);
\r
22 t->datos_iniciales.set_val(BRSTRING(args+1), BRINT(args+2));
\r
26 // void TeoriaSetDatoFinal(pointer{Teoria}, string, float)
\r
27 int SAbrTeoriaSetDatoFinal(brEval args[], brEval* result, void* data)
\r
29 CTeoria* t = (CTeoria*) BRPOINTER(args);
\r
30 t->datos_finales.set_val(BRSTRING(args+1), BRINT(args+2));
\r
34 // string TeoriaGetNombre(pointer{Teoria})
\r
35 int SAbrTeoriaGetNombre(brEval args[], brEval* result, void* data)
\r
37 CTeoria* t = (CTeoria*) BRPOINTER(args);
\r
38 result->set(t->nombre.c_str());
\r
42 // string TeoriaGetAccion(pointer{Teoria})
\r
43 int SAbrTeoriaGetAccion(brEval args[], brEval* result, void* data)
\r
45 // TODO CTeoria* t = (CTeoria*) BRPOINTER(args);
\r
46 // TODO result->set(t->accion.c_str());
\r
47 result->set("avanzar"); // FIXME
\r
51 // void TeoriaDelete(pointer{Teoria})
\r
52 int SAbrTeoriaDelete(brEval args[], brEval* result, void* data)
\r
54 delete (CTeoria*) BRPOINTER(args);
\r
59 /////////////////////////// CSistemaAutonomo /////////////////////////
\r
61 // pointer{SistemaAutonomo} SistemaAutonomoNew()
\r
62 int SAbrSistemaAutonomoNew(brEval args[], brEval* result, void* data)
\r
64 result->set(new CSistemaAutonomo());
\r
68 // void SistemaAutonomoAddTeoria(pointer{SistemaAutonomo}, pointer{Teoria})
\r
69 int SAbrSistemaAutonomoAddTeoria(brEval args[], brEval* result, void* data)
\r
71 CSistemaAutonomo* sa = (CSistemaAutonomo*) BRPOINTER(args);
\r
72 CTeoria* t = (CTeoria*) BRPOINTER(args+1);
\r
73 sa->teorias.add(t->nombre.c_str(), *t);
\r
77 // void SistemaAutonomoSetValue(pointer{SistemaAutonomo}, string, float)
\r
78 int SAbrSistemaAutonomoSetValue(brEval args[], brEval* result, void* data)
\r
80 CSistemaAutonomo* sa = (CSistemaAutonomo*) BRPOINTER(args);
\r
81 sa->p_entorno->datos.set_val(BRSTRING(args+1), BRDOUBLE(args+2));
\r
85 // void SistemaAutonomoSetDatoFinal(pointer{SistemaAutonomo}, string, float)
\r
86 int SAbrSistemaAutonomoSetDatoFinal(brEval args[], brEval* result, void* data)
\r
88 CSistemaAutonomo* sa = (CSistemaAutonomo*) BRPOINTER(args);
\r
89 sa->m_datos_finales.set_val(BRSTRING(args+1), BRDOUBLE(args+2));
\r
93 // void SistemaAutonomoPlan(pointer{SistemaAutonomo})
\r
94 int SAbrSistemaAutonomoPlan(brEval args[], brEval* result, void* data)
\r
96 CSistemaAutonomo* sa = (CSistemaAutonomo*) BRPOINTER(args);
\r
101 // bool SistemaAutonomoHasNextTheory(pointer{SistemaAutonomo})
\r
102 int SAbrSistemaAutonomoHasNextTheory(brEval args[], brEval* result, void* data)
\r
104 CSistemaAutonomo* sa = (CSistemaAutonomo*) BRPOINTER(args);
\r
105 result->set(sa->has_next_theory());
\r
109 // pointer{Teoria} SistemaAutonomoGetNextTheory(pointer{SistemaAutonomo})
\r
110 int SAbrSistemaAutonomoGetNextTheory(brEval args[], brEval* result, void* data)
\r
112 CSistemaAutonomo* sa = (CSistemaAutonomo*) BRPOINTER(args);
\r
113 result->set(sa->get_next_theory());
\r
117 // bool SistemaAutonomoValidateTheory(pointer{SistemaAutonomo}, pointer{Teoria})
\r
118 int SAbrSistemaAutonomoValidateTheory(brEval args[], brEval* result, void* data)
\r
120 CSistemaAutonomo* sa = (CSistemaAutonomo*) BRPOINTER(args);
\r
121 result->set(sa->validate_theory((CTeoria*) BRPOINTER(args+1)));
\r
125 // void SistemaAutonomoDelete(pointer{SistemaAutonomo})
\r
126 int SAbrSistemaAutonomoDelete(brEval args[], brEval* result, void* data)
\r
128 delete (CSistemaAutonomo*) BRPOINTER(args);
\r
133 DLLEXPORT void SAbrFunctions(void *data)
\r
135 brNewBreveCall(data, "TeoriaNew", SAbrTeoriaNew,
\r
136 AT_POINTER, AT_STRING, AT_STRING, AT_INT, AT_INT, 0);
\r
137 brNewBreveCall(data, "TeoriaSetDatoInicial", SAbrTeoriaSetDatoInicial,
\r
138 AT_NULL, AT_POINTER, AT_STRING, AT_DOUBLE, 0);
\r
139 brNewBreveCall(data, "TeoriaSetDatoFinal", SAbrTeoriaSetDatoFinal,
\r
140 AT_NULL, AT_POINTER, AT_STRING, AT_DOUBLE, 0);
\r
141 brNewBreveCall(data, "TeoriaGetNombre", SAbrTeoriaGetNombre,
\r
142 AT_STRING, AT_POINTER, 0);
\r
143 brNewBreveCall(data, "TeoriaGetAccion", SAbrTeoriaGetAccion,
\r
144 AT_STRING, AT_POINTER, 0);
\r
145 brNewBreveCall(data, "TeoriaDelete", SAbrTeoriaDelete,
\r
146 AT_NULL, AT_POINTER, 0);
\r
147 brNewBreveCall(data, "SistemaAutonomoNew", SAbrSistemaAutonomoNew,
\r
149 brNewBreveCall(data, "SistemaAutonomoAddTeoria", SAbrSistemaAutonomoAddTeoria,
\r
150 AT_NULL, AT_POINTER, AT_POINTER, 0);
\r
151 brNewBreveCall(data, "SistemaAutonomoSetValue", SAbrSistemaAutonomoSetValue,
\r
152 AT_NULL, AT_POINTER, AT_STRING, AT_DOUBLE, 0);
\r
153 brNewBreveCall(data, "SistemaAutonomoSetDatoFinal", SAbrSistemaAutonomoSetDatoFinal,
\r
154 AT_NULL, AT_POINTER, AT_STRING, AT_DOUBLE, 0);
\r
155 brNewBreveCall(data, "SistemaAutonomoPlan", SAbrSistemaAutonomoPlan,
\r
156 AT_NULL, AT_POINTER, 0);
\r
157 brNewBreveCall(data, "SistemaAutonomoHasNextTheory", SAbrSistemaAutonomoHasNextTheory,
\r
158 AT_INT, AT_POINTER, 0);
\r
159 brNewBreveCall(data, "SistemaAutonomoGetNextTheory", SAbrSistemaAutonomoGetNextTheory,
\r
160 AT_POINTER, AT_POINTER, 0);
\r
161 brNewBreveCall(data, "SistemaAutonomoValidateTheory", SAbrSistemaAutonomoValidateTheory,
\r
162 AT_INT, AT_POINTER, AT_POINTER, 0);
\r
163 brNewBreveCall(data, "SistemaAutonomoDelete", SAbrSistemaAutonomoDelete,
\r
164 AT_NULL, AT_POINTER, 0);
\r