- add MskeSICSFunc

- changed return value of AddSICSHdbPar et al.
This commit is contained in:
zolliker
2008-05-15 07:43:05 +00:00
parent 2b558550fb
commit b03ddddd8f
7 changed files with 68 additions and 92 deletions

View File

@@ -1188,66 +1188,64 @@ void RemoveSICSPar(pHdb node, void *callData){
SICSDeleteNodeData(node);
}
/*===================== add functions =======================================*/
int AddSICSHdbPar(pHdb node, char *name, int priv, hdbValue v){
pHdb AddSICSHdbPar(pHdb parent, char *name, int priv, hdbValue v){
pHdb child = NULL;
child = MakeSICSHdbPar(name,priv,v);
if(child == NULL){
return 0;
if(child != NULL){
AddHipadabaChild(parent,child,NULL);
}
AddHipadabaChild(node,child,NULL);
return 1;
return child;
}
/*---------------------------------------------------------------------------*/
int AddSICSHdbROPar(pHdb node, char *name, hdbValue v){
pHdb AddSICSHdbROPar(pHdb parent, char *name, hdbValue v){
pHdb child = NULL;
child = MakeSICSROPar(name,v);
if(child == NULL){
return 0;
if(child != NULL){
AddHipadabaChild(parent,child,NULL);
}
AddHipadabaChild(node,child,NULL);
return 1;
return child;
}
/*--------------------------------------------------------------------------*/
int AddSICSHdbMemPar(pHdb node, char *name, int priv,
pHdb AddSICSHdbMemPar(pHdb parent, char *name, int priv,
void *data, int datalength, int type, int length){
pHdb child = NULL;
pHdbCallback pHcb = NULL;
if(type == HIPINTVARAR || type == HIPFLOATVARAR){
assert(0);
return 0;
return NULL;
}
child = MakeHipadabaNode(name,type,length);
if(child == NULL){
return 0;
return NULL;
}
pHcb = MakeCheckPermissionCallback(priv);
if(pHcb == NULL){
DeleteHipadabaNode(child,NULL);
return 0;
return NULL;
}
AppendHipadabaCallback(child,pHcb);
pHcb = MakeMemGenSetCallback(data);
if(pHcb == NULL){
DeleteHipadabaNode(child,NULL);
return 0;
return NULL;
}
AppendHipadabaCallback(child,pHcb);
pHcb = MakeMemGenReadCallback(data);
if(pHcb == NULL){
DeleteHipadabaNode(child,NULL);
return 0;
return NULL;
}
AppendHipadabaCallback(child,pHcb);
AddHipadabaChild(node,child,NULL);
AddHipadabaChild(parent,child,NULL);
return 1;
return child;
}
/*==================== access support functions ==============================*/
pHdb FindHdbParent(char *rootpath, char *relpath, char **namePtr, SConnection *pCon) {
@@ -1875,6 +1873,10 @@ int readHdbValue(hdbValue *v, char *data, char *error, int errlen){
}
return 1;
}
/*-------------------------------------------------------------------------*/
hdbValue MakeSICSFunc(SICSOBJFunc func) {
return MakeHdbFunc((voidFunc *)func);
}
/*================ interpreter interface ==================================*/
pHdb GetHipadabaRoot(){
return root;
@@ -2875,7 +2877,7 @@ static hdbCallbackReturn CommandGetCallback(pHdb node, void *userData,
}
hdbValue v2 = MakeHdbText("Nothing to get");
*(mm->v) = v2;
copyHdbValue(&v2, mm->v); /* MakeHdbText makes no strdup ! */
return hdbContinue;
}
/*--------------------------------------------------------------------------*/