void Blink1Input::fromJson( QJsonObject obj) { setName( obj.value("name").toString() ); setType(obj.value("type").toString()); setArg1(obj.value("arg1").toString()); setArg2(obj.value("arg2").toString()); setDate(obj.value("date").toDouble()); setFreq(obj.value("freq").toDouble()); setFreqCounter(obj.value("freqCounter").toDouble()); setPatternName(obj.value("patternName").toString()); }
arg* getArg(char* buffer,int nbArg,int c,int sock){ int i,j,taille,estNegatif; char* nbArgTmp; estNegatif=1; arg* tabArg=malloc(nbArg*sizeof(arg)); for(i=0;i <nbArg;i++){ if(buffer[++c]==1 || buffer[c]==3){//l'argument est un entier tabArg[i].type=buffer[c]; if(buffer[c]==3){ estNegatif=-1; } else{ estNegatif=1; } taille=buffer[++c]; nbArgTmp=malloc(taille*(sizeof(char))+1); for(j=0;j<taille;j++){ nbArgTmp[j]=buffer[++c]; printf("arg numero%d %c \n",i,nbArgTmp[j]); } nbArgTmp[j]='\0'; printf("argument est %d et sa taille est %d et son string %s\n",atoi(nbArgTmp),taille,nbArgTmp); tabArg[i].arg=setArg(atoi(nbArgTmp)*estNegatif); free(nbArgTmp); } else if (buffer[c]==2){//l'argument est un char* tabArg[i].type=2; taille=buffer[++c]; nbArgTmp=malloc((taille+1)*(sizeof(char))); for(j=0;j<taille;j++){ nbArgTmp[j]=buffer[++c]; } nbArgTmp[j]='\0'; tabArg[i].arg=setArg2(nbArgTmp); free(nbArgTmp); } else{ perror("type d'argument innatendu"); printf("\n%d\n",buffer[c]); char a= MAUVAIS_ARGUMENTS; write(sock,&a,1); close(sock); return NULL; } } printf("fini le traitement ici\n"); return tabArg; }