From ffc19fdcd0845dbd85c2bba990c590fcc5fba670 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Wed, 12 Oct 2011 12:09:50 +0200 Subject: Finalised the praxisd communination code. Still untested though... --- client/luapraxisd.cc | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) (limited to 'client/luapraxisd.cc') diff --git a/client/luapraxisd.cc b/client/luapraxisd.cc index 1d9da4c..6fc4891 100644 --- a/client/luapraxisd.cc +++ b/client/luapraxisd.cc @@ -27,9 +27,7 @@ */ #include "luapraxisd.h" -#ifdef WITH_PRAXISD - -#include "../server/src/praxisd.h" +#include "praxisd.h" #include #include @@ -40,7 +38,7 @@ (lua_isboolean(L,i) ? lua_toboolean(L,i) : luaL_checkint(L,i)) typedef struct px_userdata { - Praxisd *px; + PraxisdSync *px; } px_userdata; static int px_getcave(lua_State *L) @@ -54,13 +52,13 @@ static int px_getcave(lua_State *L) QVector cavelist; Praxisd::patient_t patient = pxu->px->patient_get_by_cpr(cpr); - std::vector::iterator i = patient.sogeord.begin(); + QVector::iterator i = patient.sogeord.begin(); while(i != patient.sogeord.end()) { - std::string cavesogeord = i->sogenr.substr(1, i->sogenr.size() - 1); - std::vector cave = pxu->px->diverse_get_cave(cavesogeord); + QString cavesogeord = i->sogenr.mid(1, i->sogenr.size() - 1); + QVector cave = pxu->px->diverse_get_cave(cavesogeord); if(cave.size() == 1) { - if(cave[0].cave != "ANDET") cavelist.push_back(cave[0].cave.c_str()); - else cavelist.push_back(i->sogetxt.c_str()); + if(cave[0].cave != "ANDET") cavelist.push_back(cave[0].cave); + else cavelist.push_back(i->sogetxt); } i++; } @@ -82,13 +80,13 @@ static int px_cavelist(lua_State *L) pxu = (px_userdata *)luaL_checkudata(L, 1, "Praxisd"); luaL_argcheck(L, pxu, 1, "Praxisd expected"); - std::vector cavelist = pxu->px->diverse_get_cave(""); + QVector cavelist = pxu->px->diverse_get_cave(""); lua_createtable(L, 0, cavelist.size()); int top = lua_gettop(L); - for(size_t i = 0; i < cavelist.size(); i++) { - lua_pushstring(L, QString::fromUtf8(cavelist[i].cave.c_str()).toStdString().c_str()); + for(size_t i = 0; i < (size_t)cavelist.size(); i++) { + lua_pushstring(L, QString::fromUtf8(cavelist[i].cave.toStdString().c_str()).toStdString().c_str()); lua_rawseti(L, top, i); } @@ -106,7 +104,7 @@ static int px_new(lua_State *L) luaL_getmetatable(L, "Praxisd"); lua_setmetatable(L, -2); - pxu->px = new Praxisd(host, port); + pxu->px = new PraxisdSync(host, port); return 1; } @@ -144,9 +142,3 @@ void register_praxisd(lua_State *L) luaL_register(L, NULL, px_meths); luaL_openlib (L, "Praxisd", px_funcs, 0); } - -#else/*WITH_PRAXISD*/ - -void register_praxisd(lua_State *L){} - -#endif/*WITH_PRAXISD*/ -- cgit v1.2.3 From c73d1d01ba6b57f664c21a189fa9297e2c75456a Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 13 Oct 2011 10:30:38 +0200 Subject: Finished Praxisd code. Now it works both in sync and async modes. --- client/luapraxisd.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'client/luapraxisd.cc') diff --git a/client/luapraxisd.cc b/client/luapraxisd.cc index 6fc4891..1a92ea8 100644 --- a/client/luapraxisd.cc +++ b/client/luapraxisd.cc @@ -51,11 +51,11 @@ static int px_getcave(lua_State *L) QVector cavelist; - Praxisd::patient_t patient = pxu->px->patient_get_by_cpr(cpr); - QVector::iterator i = patient.sogeord.begin(); + Patient patient = pxu->px->patient_get_by_cpr(cpr); + QVector::iterator i = patient.sogeord.begin(); while(i != patient.sogeord.end()) { QString cavesogeord = i->sogenr.mid(1, i->sogenr.size() - 1); - QVector cave = pxu->px->diverse_get_cave(cavesogeord); + QVector cave = pxu->px->diverse_get_cave(cavesogeord); if(cave.size() == 1) { if(cave[0].cave != "ANDET") cavelist.push_back(cave[0].cave); else cavelist.push_back(i->sogetxt); @@ -80,7 +80,7 @@ static int px_cavelist(lua_State *L) pxu = (px_userdata *)luaL_checkudata(L, 1, "Praxisd"); luaL_argcheck(L, pxu, 1, "Praxisd expected"); - QVector cavelist = pxu->px->diverse_get_cave(""); + QVector cavelist = pxu->px->diverse_get_cave(""); lua_createtable(L, 0, cavelist.size()); int top = lua_gettop(L); -- cgit v1.2.3 From d602bdeb65d0e4007a8a02e5c6d4b9b271287aa9 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 13 Oct 2011 11:30:57 +0200 Subject: Fix bug in cavelist lookup. --- client/luapraxisd.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'client/luapraxisd.cc') diff --git a/client/luapraxisd.cc b/client/luapraxisd.cc index 1a92ea8..0696674 100644 --- a/client/luapraxisd.cc +++ b/client/luapraxisd.cc @@ -54,7 +54,7 @@ static int px_getcave(lua_State *L) Patient patient = pxu->px->patient_get_by_cpr(cpr); QVector::iterator i = patient.sogeord.begin(); while(i != patient.sogeord.end()) { - QString cavesogeord = i->sogenr.mid(1, i->sogenr.size() - 1); + QString cavesogeord = i->sogenr;//.mid(1, i->sogenr.size() - 1); QVector cave = pxu->px->diverse_get_cave(cavesogeord); if(cave.size() == 1) { if(cave[0].cave != "ANDET") cavelist.push_back(cave[0].cave); -- cgit v1.2.3