1 #include "sistemaautonomo.h"
\r
2 #include "slBrevePluginAPI.h"
\r
5 /////////////////////////// CTeoria /////////////////////////
\r
7 double NoOp(CEntorno&) { return 0.0; } // FIXME (hack horrible porque no puedo usar ptr a fun)
\r
9 // pointer{Teoria} TeoriaNew(string, int, int, int)
\r
10 int SAbrTeoriaNew(brEval args[], brEval* result, void* data)
\r
12 result->set(new CTeoria(
\r
14 NoOp, // FIXME (no hay puntero a funcion, poner BRINT(args+1))
\r
20 // void TeoriaAddDatoInicial(pointer{Teoria}, string, float)
\r
21 int SAbrTeoriaAddDatoInicial(brEval args[], brEval* result, void* data)
\r
23 CTeoria* t = (CTeoria*) BRPOINTER(args);
\r
24 t->datos_iniciales.add(BRSTRING(args+1), BRINT(args+2));
\r
28 // void TeoriaAddDatoFinal(pointer{Teoria}, string, float)
\r
29 int SAbrTeoriaAddDatoFinal(brEval args[], brEval* result, void* data)
\r
31 CTeoria* t = (CTeoria*) BRPOINTER(args);
\r
32 t->datos_finales.add(BRSTRING(args+1), BRINT(args+2));
\r
36 // void TeoriaDelete(pointer{Teoria})
\r
37 int SAbrTeoriaDelete(brEval args[], brEval* result, void* data)
\r
39 delete (CTeoria*) BRPOINTER(args);
\r
44 /////////////////////////// CSistemaAutonomo /////////////////////////
\r
46 // pointer{SistemaAutonomo} SistemaAutonomoNew()
\r
47 int SAbrSistemaAutonomoNew(brEval args[], brEval* result, void* data)
\r
49 result->set(new CSistemaAutonomo());
\r
53 // void SistemaAutonomoAddTeoria(pointer{SistemaAutonomo}, pointer{Teoria})
\r
54 int SAbrSistemaAutonomoAddTeoria(brEval args[], brEval* result, void* data)
\r
56 CSistemaAutonomo* sa = (CSistemaAutonomo*) BRPOINTER(args);
\r
57 CTeoria* t = (CTeoria*) BRPOINTER(args+1);
\r
58 sa->teorias.add(t->nombre.c_str(), *t);
\r
62 // void SistemaAutonomoDelete(pointer{SistemaAutonomo})
\r
63 int SAbrSistemaAutonomoDelete(brEval args[], brEval* result, void* data)
\r
65 delete (CSistemaAutonomo*) BRPOINTER(args);
\r
70 DLLEXPORT void SAbrFunctions(void *data)
\r
72 brNewBreveCall(data, "TeoriaNew", SAbrTeoriaNew,
\r
73 AT_POINTER, AT_STRING, AT_INT, AT_INT, AT_INT, 0);
\r
74 brNewBreveCall(data, "TeoriaAddDatoInicial", SAbrTeoriaAddDatoInicial,
\r
75 AT_NULL, AT_POINTER, AT_STRING, AT_DOUBLE, 0);
\r
76 brNewBreveCall(data, "TeoriaAddDatoFinal", SAbrTeoriaAddDatoFinal,
\r
77 AT_NULL, AT_POINTER, AT_STRING, AT_DOUBLE, 0);
\r
78 brNewBreveCall(data, "TeoriaDelete", SAbrTeoriaDelete,
\r
79 AT_NULL, AT_POINTER, 0);
\r
80 brNewBreveCall(data, "SistemaAutonomoNew", SAbrSistemaAutonomoNew,
\r
82 brNewBreveCall(data, "SistemaAutonomoAddTeoria", SAbrSistemaAutonomoAddTeoria,
\r
83 AT_NULL, AT_POINTER, AT_POINTER, 0);
\r
84 brNewBreveCall(data, "SistemaAutonomoDelete", SAbrSistemaAutonomoDelete,
\r
85 AT_NULL, AT_POINTER, 0);
\r