- Timestamp:
- Mar 19, 2018, 3:53:31 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/prototype-v0/zoo-project/zoo-kernel/service_json.c
r845 r873 89 89 } 90 90 91 json_object* elementsToJson(elements* myElements){ 92 json_object *res=json_object_new_object(); 93 elements* cur=myElements; 94 while(cur!=NULL){ 95 json_object *cres=json_object_new_object(); 96 json_object_object_add(cres,"content",mapToJson(cur->content)); 97 json_object_object_add(cres,"metadata",mapToJson(cur->metadata)); 98 json_object_object_add(cres,"additional_parameters",mapToJson(cur->additional_parameters)); 99 if(cur->format!=NULL){ 100 json_object_object_add(cres,"format",json_object_new_string(cur->format)); 101 } 102 if(cur->child==NULL){ 103 if(cur->defaults!=NULL) 104 json_object_object_add(cres,"defaults",mapToJson(cur->defaults->content)); 105 else 106 json_object_object_add(cres,"defaults",mapToJson(NULL)); 107 iotype* scur=cur->supported; 108 json_object *resi=json_object_new_array(); 109 while(scur!=NULL){ 110 json_object_array_add(resi,mapToJson(scur->content)); 111 scur=scur->next; 112 } 113 json_object_object_add(cres,"supported",resi); 114 fprintf(stderr,"%s %d\n",__FILE__,__LINE__); 115 fflush(stderr); 116 } 117 118 dumpElements(cur->child); 119 json_object_object_add(cres,"child",elementsToJson(cur->child)); 120 fprintf(stderr,"%s %d\n",__FILE__,__LINE__); 121 fflush(stderr); 122 123 json_object_object_add(res,cur->name,cres); 124 cur=cur->next; 125 } 126 return res; 127 } 128 129 json_object* serviceToJson(service* myService){ 130 json_object *res=json_object_new_object(); 131 json_object_object_add(res,"name",json_object_new_string(myService->name)); 132 json_object_object_add(res,"content",mapToJson(myService->content)); 133 json_object_object_add(res,"metadata",mapToJson(myService->metadata)); 134 json_object_object_add(res,"additional_parameters",mapToJson(myService->additional_parameters)); 135 json_object_object_add(res,"inputs",elementsToJson(myService->inputs)); 136 json_object_object_add(res,"outputs",elementsToJson(myService->outputs)); 137 return res; 138 } 139 140 91 141 #ifdef __cplusplus 92 142 }
Note: See TracChangeset
for help on using the changeset viewer.