]> git.llucax.com Git - z.facultad/75.68/celdas.git/blobdiff - trunk/src/plugin.cpp
Construyo wrappers con la nueva interfaz que habíamos hablado para el sistema autónom...
[z.facultad/75.68/celdas.git] / trunk / src / plugin.cpp
index 383cffce07af78d65fed5af9904a9e47e0f71a61..ed52b4b3c0f78351cf69294663e293c6a961592f 100644 (file)
@@ -6,18 +6,19 @@
 \r
 double NoOp(CEntorno&) { return 0.0; } // FIXME (hack horrible porque no puedo usar ptr a fun)\r
 \r
-// pointer{Teoria} TeoriaNew(string, int, int, int)\r
+// pointer{Teoria} TeoriaNew(string, string, int, int)\r
 int SAbrTeoriaNew(brEval args[], brEval* result, void* data)\r
 {\r
        result->set(new CTeoria(\r
                BRSTRING(args),\r
                NoOp, // FIXME (no hay puntero a funcion, poner BRINT(args+1))\r
+               //BRSTRING(args+1),\r
                BRINT(args+2),\r
                BRINT(args+3)));\r
        return EC_OK;\r
 }\r
 \r
-// void TeoriaAddDatoInicial(pointer{Teoria}, string, double)\r
+// void TeoriaAddDatoInicial(pointer{Teoria}, string, float)\r
 int SAbrTeoriaAddDatoInicial(brEval args[], brEval* result, void* data)\r
 {\r
        CTeoria* t = (CTeoria*) BRPOINTER(args);\r
@@ -25,7 +26,7 @@ int SAbrTeoriaAddDatoInicial(brEval args[], brEval* result, void* data)
        return EC_OK;\r
 }\r
 \r
-// void TeoriaAddDatoFinal(pointer{Teoria}, string, double)\r
+// void TeoriaAddDatoFinal(pointer{Teoria}, string, float)\r
 int SAbrTeoriaAddDatoFinal(brEval args[], brEval* result, void* data)\r
 {\r
        CTeoria* t = (CTeoria*) BRPOINTER(args);\r
@@ -59,6 +60,40 @@ int SAbrSistemaAutonomoAddTeoria(brEval args[], brEval* result, void* data)
        return EC_OK;\r
 }\r
 \r
+// void SistemaAutonomoSetValue(pointer{SistemaAutonomo}, string, float)\r
+int SAbrSistemaAutonomoSetValue(brEval args[], brEval* result, void* data)\r
+{\r
+       CSistemaAutonomo* sa = (CSistemaAutonomo*) BRPOINTER(args);\r
+       sa->p_entorno->datos.set_val(BRSTRING(args), BRDOUBLE(args+1));\r
+       return EC_OK;\r
+}\r
+\r
+// void SistemaAutonomoPlan(pointer{SistemaAutonomo})\r
+int SAbrSistemaAutonomoPlan(brEval args[], brEval* result, void* data)\r
+{\r
+       // TODO CSistemaAutonomo* sa = (CSistemaAutonomo*) BRPOINTER(args);\r
+       // TODO sa->plan();\r
+       return EC_OK;\r
+}\r
+\r
+// string SistemaAutonomoGetNextAction(pointer{SistemaAutonomo})\r
+int SAbrSistemaAutonomoGetNextAction(brEval args[], brEval* result, void* data)\r
+{\r
+       // TODO CSistemaAutonomo* sa = (CSistemaAutonomo*) BRPOINTER(args);\r
+       // TODO sa->get_next_action();\r
+       result->set("avanzar"); // FIXME\r
+       return EC_OK;\r
+}\r
+\r
+// bool SistemaAutonomoValidateCurrentTheory(pointer{SistemaAutonomo})\r
+int SAbrSistemaAutonomoValidateCurrentTheory(brEval args[], brEval* result, void* data)\r
+{\r
+       // TODO CSistemaAutonomo* sa = (CSistemaAutonomo*) BRPOINTER(args);\r
+       // TODO sa->validate_current_theory();\r
+       result->set(true); // FIXME\r
+       return EC_OK;\r
+}\r
+\r
 // void SistemaAutonomoDelete(pointer{SistemaAutonomo})\r
 int SAbrSistemaAutonomoDelete(brEval args[], brEval* result, void* data)\r
 {\r
@@ -70,7 +105,7 @@ int SAbrSistemaAutonomoDelete(brEval args[], brEval* result, void* data)
 DLLEXPORT void SAbrFunctions(void *data)\r
 {\r
        brNewBreveCall(data, "TeoriaNew", SAbrTeoriaNew,\r
-                      AT_POINTER, AT_STRING, AT_INT, AT_INT, AT_INT, 0);\r
+                      AT_POINTER, AT_STRING, AT_STRING, AT_INT, AT_INT, 0);\r
        brNewBreveCall(data, "TeoriaAddDatoInicial", SAbrTeoriaAddDatoInicial,\r
                       AT_NULL, AT_POINTER, AT_STRING, AT_DOUBLE, 0);\r
        brNewBreveCall(data, "TeoriaAddDatoFinal", SAbrTeoriaAddDatoFinal,\r
@@ -81,6 +116,14 @@ DLLEXPORT void SAbrFunctions(void *data)
                       AT_POINTER, 0);\r
        brNewBreveCall(data, "SistemaAutonomoAddTeoria", SAbrSistemaAutonomoAddTeoria,\r
                       AT_NULL, AT_POINTER, AT_POINTER, 0);\r
+       brNewBreveCall(data, "SistemaAutonomoSetValue", SAbrSistemaAutonomoSetValue,\r
+                      AT_NULL, AT_POINTER, AT_STRING, AT_DOUBLE, 0);\r
+       brNewBreveCall(data, "SistemaAutonomoPlan", SAbrSistemaAutonomoPlan,\r
+                      AT_NULL, AT_POINTER, 0);\r
+       brNewBreveCall(data, "SistemaAutonomoGetNextAction", SAbrSistemaAutonomoGetNextAction,\r
+                      AT_STRING, AT_POINTER, 0);\r
+       brNewBreveCall(data, "SistemaAutonomoValidateCurrentTheory", SAbrSistemaAutonomoValidateCurrentTheory,\r
+                      AT_INT, AT_POINTER, 0);\r
        brNewBreveCall(data, "SistemaAutonomoDelete", SAbrSistemaAutonomoDelete,\r
                       AT_NULL, AT_POINTER, 0);\r
 }\r