Ignore:
Timestamp:
Dec 19, 2016, 6:01:06 PM (7 years ago)
Author:
djay
Message:

Add support for nested inputs and outputs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/zoo-project/zoo-kernel/service_internal_js.c

    r784 r790  
    425425  while(tmp!=NULL){
    426426    JSObject *pval=JSObject_FromMap(cx,tmp->content);
     427    if(tmp->child!=NULL){
     428      JSObject *pvalc=JSObject_FromMaps(cx,tmp->child);
     429      jsval pvaljc=OBJECT_TO_JSVAL(pvalc);
     430      JS_SetProperty(cx, pval, "child", &pvaljc);
     431    }
    427432    jsval pvalj=OBJECT_TO_JSVAL(pval);
    428433    JS_SetProperty(cx, res, tmp->name, &pvalj);
     
    548553       
    549554        tmp=JS_EncodeString(cx,jsmsg);
    550         tres=(maps*)malloc(MAPS_SIZE);
    551         tres->name=zStrdup(tmp);
    552         tres->content=NULL;
    553         tres->next=NULL;
     555        tres=createMaps(tmp);
    554556
    555557        jsval nvp=JSVAL_NULL;
     
    567569        }
    568570
     571        jsval nvp0=JSVAL_NULL;
     572        JSObject *nvp01=JSVAL_TO_OBJECT(JSVAL_NULL);
     573        if((JS_GetProperty(cx, nvp1, "child", &nvp0)==JS_FALSE)){
     574#ifdef JS_DEBUG
     575          fprintf(stderr,"Enumerate id : %d => %s => No more value\n",oi,tmp);
     576#endif
     577        }
     578        JS_ValueToObject(cx,nvp0,&nvp01);
     579        jsval nvp01j=OBJECT_TO_JSVAL(nvp01);
     580        if(!JSVAL_IS_NULL(nvp01j)){
     581          tres->child=mapsFromJSObject(cx,nvp01j);
     582        }
     583
    569584        if(res==NULL)
    570585          res=dupMaps(&tres);
     
    574589        free(tres);
    575590        tres=NULL;
    576                
    577591      }
    578592      JS_DestroyIdArray(cx,idp);
     
    725739      fprintf(stderr,"Enumerate id : %d [ %s => %s ]\n",index,tmp,tmp1);
    726740#endif
    727       if(res!=NULL){
    728 #ifdef JS_DEBUG
    729         fprintf(stderr,"%s - %s\n",tmp,tmp1);
    730 #endif
    731         addToMap(res,tmp,tmp1);
    732       }
    733       else{
    734         res=createMap(tmp,tmp1);
    735         res->next=NULL;
     741      if(strcasecmp(tmp,"child")!=0){
     742        if(res!=NULL){
     743#ifdef JS_DEBUG
     744          fprintf(stderr,"%s - %s\n",tmp,tmp1);
     745#endif
     746          addToMap(res,tmp,tmp1);
     747        }
     748        else{
     749          res=createMap(tmp,tmp1);
     750          res->next=NULL;
     751        }
    736752      }
    737753      free(tmp);
Note: See TracChangeset for help on using the changeset viewer.

Search

Context Navigation

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png