Ignore:
Timestamp:
Jun 24, 2015, 1:58:17 AM (9 years ago)
Author:
djay
Message:

Various fixes for Windows support: generate uuid using UuidCreate?, pass usid to the created process, call TerminateProcess? on dismiss request.

File:
1 edited

Legend:

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

    r676 r680  
    6262  map* tmp=t;
    6363  while(tmp!=NULL){
    64 #ifdef DEBUG
    65     fprintf(stderr,"%s = %s\n",tmp->name,tmp->value);
    66 #endif
    6764    fprintf(file,"%s = %s\n",tmp->name,tmp->value);
    6865    tmp=tmp->next;
     
    9188 */
    9289void dumpMapsToFile(maps* m,char* file_path){
    93   FILE* file=fopen(file_path,"w");
     90  FILE* file=fopen(file_path,"w+");
    9491  maps* tmp=m;
    9592  while(tmp!=NULL){
     
    9996    tmp=tmp->next;
    10097  }
     98  fflush(file);
    10199  fclose(file);
    102100}
    103  
     101
    104102/**
    105103 * Create a new map
     
    14291427  m=&trorf;
    14301428}
    1431 
    1432 #ifdef WIN32
    1433 char* getMapsAsKVP(maps* m,int length,int type){
    1434   char *dataInputsKVP=(char*) malloc(length*sizeof(char));
    1435   char *dataInputsKVPi=NULL;
    1436   maps* curs=m;
    1437   int i=0;
    1438   while(curs!=NULL){
    1439     map *inRequest=getMap(curs->content,"inRequest");
    1440     map *hasLength=getMap(curs->content,"length");
    1441     if((inRequest!=NULL && strncasecmp(inRequest->value,"true",4)==0) ||
    1442        inRequest==NULL){
    1443       if(i==0)
    1444         if(type==0){
    1445           sprintf(dataInputsKVP,"%s=",curs->name);
    1446           if(hasLength!=NULL){
    1447             dataInputsKVPi=(char*)malloc((strlen(curs->name)+2)*sizeof(char));
    1448             sprintf(dataInputsKVPi,"%s=",curs->name);
    1449           }
    1450         }
    1451         else
    1452           sprintf(dataInputsKVP,"%s",curs->name);
    1453       else{
    1454         char *temp=zStrdup(dataInputsKVP);
    1455         if(type==0)
    1456           sprintf(dataInputsKVP,"%s;%s=",temp,curs->name);
    1457         else
    1458           sprintf(dataInputsKVP,"%s;%s",temp,curs->name);
    1459       }
    1460       map* icurs=curs->content;
    1461       if(type==0){
    1462         char *temp=zStrdup(dataInputsKVP);
    1463         if(getMap(curs->content,"xlink:href")!=NULL)
    1464           sprintf(dataInputsKVP,"%sReference",temp);
    1465         else{
    1466           if(hasLength!=NULL){
    1467             int j;
    1468             for(j=0;j<atoi(hasLength->value);j++){
    1469               map* tmp0=getMapArray(curs->content,"value",j);
    1470               if(j==0)
    1471                 free(temp);
    1472               temp=zStrdup(dataInputsKVP);
    1473               if(j==0)
    1474                 sprintf(dataInputsKVP,"%s%s",temp,tmp0->value);
    1475               else
    1476                 sprintf(dataInputsKVP,"%s;%s%s",temp,dataInputsKVPi,tmp0->value);
    1477             }
    1478           }
    1479           else
    1480             sprintf(dataInputsKVP,"%s%s",temp,icurs->value);
    1481         }
    1482         free(temp);
    1483       }
    1484       while(icurs!=NULL){
    1485         if(strncasecmp(icurs->name,"value",5)!=0 &&
    1486            strncasecmp(icurs->name,"mimeType_",9)!=0 &&
    1487            strncasecmp(icurs->name,"dataType_",9)!=0 &&
    1488            strncasecmp(icurs->name,"size",4)!=0 &&
    1489            strncasecmp(icurs->name,"length",4)!=0 &&
    1490            strncasecmp(icurs->name,"isArray",7)!=0 &&
    1491            strcasecmp(icurs->name,"Reference")!=0 &&
    1492            strcasecmp(icurs->name,"minOccurs")!=0 &&
    1493            strcasecmp(icurs->name,"maxOccurs")!=0 &&
    1494            strncasecmp(icurs->name,"fmimeType",9)!=0 &&
    1495            strcasecmp(icurs->name,"inRequest")!=0){
    1496           char *itemp=zStrdup(dataInputsKVP);
    1497           if(strcasecmp(icurs->name,"xlink:href")!=0)
    1498             sprintf(dataInputsKVP,"%s@%s=%s",itemp,icurs->name,icurs->value);
    1499           else
    1500             sprintf(dataInputsKVP,"%s@%s=%s",itemp,icurs->name,url_encode(icurs->value));
    1501           free(itemp);
    1502         }
    1503         icurs=icurs->next;
    1504       }
    1505     }
    1506     curs=curs->next;
    1507     i++;
    1508   }
    1509   return dataInputsKVP;
    1510 }
    1511 #endif
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