Make privilege property consistent with the GumTree hipadaba schema.

This commit is contained in:
Douglas Clowes
2012-11-29 14:27:49 +11:00
parent cabb3f7f4c
commit a41941ff9b

View File

@ -30,23 +30,23 @@
#include "sicsdata.h"
#include "HistMem.i"
#define PRIVNAM "priv"
#define PRIVNAM "privilege"
/*==================== support code ====================================*/
static void AddPrivProperty(pHdb node, int priv)
{
char pPriv[80];
switch (priv) {
case usInternal:
strcpy(pPriv, "internal");
strcpy(pPriv, "READ_ONLY");
break;
case usMugger:
strcpy(pPriv, "manager");
strcpy(pPriv, "MANAGER");
break;
case usUser:
strcpy(pPriv, "user");
strcpy(pPriv, "USER");
break;
case usSpy:
strcpy(pPriv, "spy");
strcpy(pPriv, "SPY");
break;
default:
assert(0);
@ -468,7 +468,7 @@ static pHdb MakeSicsVarNode(pSicsVariable pVar, char *name)
pHdbCallback pCall = NULL;
commandContext comCom;
int type;
char command[1024];
hdbValue v;
switch (pVar->eType) {
case veInt:
@ -496,8 +496,18 @@ static pHdb MakeSicsVarNode(pSicsVariable pVar, char *name)
}
AppendHipadabaCallback(node, pCall);
RegisterCallback(pVar->pCall, VALUECHANGE, ValueCallback, node, NULL);
snprintf(command, 1023, "%s ", pVar->name);
SetHdbProperty(node, "sicscommand", command);
switch (pVar->eType) {
case veInt:
v = MakeHdbInt(pVar->iVal);
break;
case veFloat:
v = MakeHdbFloat((double) pVar->fVal);
break;
case veText:
v = MakeHdbText(pVar->text);
break;
}
UpdateHipadabaPar(node, v, NULL);
node->protected = 1;
return node;