void create_conf(GETS4_CONFIG *new_pools,char* fileName) { cJSON *root,*fld,*array; char *out; FILE* fp = fopen(fileName, "w+"); if(fp==NULL) { printf("open error\n"); } root=cJSON_CreateObject(); cJSON_AddItemToObject(root, "pools", array=cJSON_CreateArray());; int i; for(i=0;i<3;i++) { cJSON_AddItemToArray(array,fld=cJSON_CreateObject()); cJSON_AddStringToObject(fld, "url", new_pools->pools_data[i].url); cJSON_AddStringToObject(fld, "user", new_pools->pools_data[i].user); cJSON_AddStringToObject(fld, "pass", new_pools->pools_data[i].pass); } //cJSON_AddStringToObject(root, "api-listen", new_pools->api_listen); //cJSON_AddStringToObject(root, "api-network",new_pools->api_network); if(1==new_pools->api_listen) cJSON_AddTrueToObject(root, "api-listen"); else if(0==new_pools->api_listen) cJSON_AddFalseToObject(root, "api-listen"); if(1==new_pools->api_network) cJSON_AddTrueToObject(root, "api-network"); else if(0==new_pools->api_network) cJSON_AddFalseToObject(root, "api-network"); if(1==new_pools->bitmain_nobeeper) cJSON_AddTrueToObject(root, "bitmain-nobeeper"); if(1==new_pools->bitmain_notempoverctrl) cJSON_AddTrueToObject(root, "bitmain-notempoverctrl"); cJSON_AddStringToObject(root, "api-allow" , new_pools->api_allow); cJSON_AddStringToObject(root, "bitmain-freq", new_pools->bitmain_freq); cJSON_AddStringToObject(root, "bitmain-voltage", new_pools->bitmain_voltage); out=cJSON_Print(root); /*// //no use char *more_str=",\n \"api-listen\": true,\n \"api-network\": true\n}"; i=strlen(out); out[i-2]='\0'; out=(char *)realloc(out,(i+50)*sizeof(char)); strcat(out,more_str); //*/ fprintf(fp,"%s",out); fclose(fp); cJSON_Delete(root); free(out); out = NULL; root = NULL; }
static void cjson_add_true_should_fail_with_null_pointers(void) { cJSON *root = cJSON_CreateObject(); TEST_ASSERT_NULL(cJSON_AddTrueToObject(NULL, "true")); TEST_ASSERT_NULL(cJSON_AddTrueToObject(root, NULL)); cJSON_Delete(root); }
/*create a json * { * "name":"duanqi", * "info":{ * "age":30, * "sex":"male", * "height":165, * "work":true, * "son":true * } * }*/ void createOne(cJSON *root) { cJSON *item = NULL; //root = cJSON_CreateObject(); cJSON_AddStringToObject(root,"name","duanqi"); cJSON_AddItemToObject(root,"info",item = cJSON_CreateObject()); cJSON_AddNumberToObject(item,"age",30); cJSON_AddStringToObject(item,"sex","male"); cJSON_AddNumberToObject(item,"height",165); cJSON_AddTrueToObject(item,"work"); cJSON_AddTrueToObject(item,"son"); }
int PublishData(jNet *pJnet, int source) { int res; cJSON *root, *son1, *son2; char *out; root = cJSON_CreateArray(); cJSON_AddItemToArray(root, son1=cJSON_CreateObject()); cJSON_AddStringToObject(son1, "hwid", gAgent); cJSON_AddStringToObject(son1, "type", "AGENT"); cJSON_AddItemToObject(son1, "values", son2=cJSON_CreateObject()); cJSON_AddNumberToObject(son2, "temperature", GetRandTemp()); if (source == 0) cJSON_AddFalseToObject(son2, "error"); else cJSON_AddTrueToObject(son2, "error"); cJSON_AddItemToArray(root, son1=cJSON_CreateObject()); cJSON_AddStringToObject(son1, "hwid", "ABCDEF0123456"); cJSON_AddStringToObject(son1, "type", "SENSOR"); cJSON_AddItemToObject(son1, "values", son2=cJSON_CreateObject()); cJSON_AddNumberToObject(son2, "lumen", Read8591(0)); cJSON_AddNumberToObject(son2, "Volt", Read8591(3)); out=cJSON_PrintUnformatted(root); cJSON_Delete(root); printf("Publishing %s\n", out); res = jNetPublishT(pJnet, gTopicUp, out); //printf("result %d\n", res); free(out); return res; }
void COMMUNICATION_chat_to_all( char *msg, CONNECTED_CLIENT *client ) { cJSON *root = cJSON_CreateObject(); cJSON *data = cJSON_CreateObject(); char *output; cJSON_AddTrueToObject( root, "success" ); cJSON_AddStringToObject( root, "data_type", "chat_message" ); cJSON_AddItemToObject( root, "data", data ); cJSON_AddStringToObject( data, "text", msg ); if( strlen( client->name ) > 0 ) { cJSON_AddStringToObject( data, "user", client->name ); } else { cJSON_AddNumberToObject( data, "user", client->socket_descriptor ); } output = cJSON_Print( root ); COMMUNICATION_send_to_all( output ); cJSON_Delete( root ); root = NULL; free( output ); output = NULL; }
void JSONItem::append(const JSONItem& element) { if(!_json) { return; } switch(element.getType()) { case cJSON_False: cJSON_AddFalseToObject(_json, element.getName().mb_str(wxConvUTF8).data()); break; case cJSON_True: cJSON_AddTrueToObject(_json, element.getName().mb_str(wxConvUTF8).data()); break; case cJSON_NULL: cJSON_AddNullToObject(_json, element.getName().mb_str(wxConvUTF8).data()); break; case cJSON_Number: cJSON_AddNumberToObject(_json, element.getName().mb_str(wxConvUTF8).data(), element.getValue().GetLong()); break; case cJSON_String: cJSON_AddStringToObject(_json, element.getName().mb_str(wxConvUTF8).data(), element.getValue().GetString().mb_str(wxConvUTF8).data()); break; case cJSON_Array: case cJSON_Object: cJSON_AddItemToObject(_json, element.getName().mb_str(wxConvUTF8).data(), element._json); break; } }
void Client::startGame(bool isDefaultLogic, std::string firstTurn) { if((_state != ConnectionState::connected) || (_socket == NULL)){ if(_turnlistener != NULL) { _turnlistener->onStartGameDone(ResultCode::connection_error); } return; } int byteLen; byte *req; std::string payload; cJSON *payloadJSON; payloadJSON = cJSON_CreateObject(); if(isDefaultLogic == true) cJSON_AddTrueToObject(payloadJSON, "isDefaultLogic"); else cJSON_AddFalseToObject(payloadJSON, "isDefaultLogic"); cJSON_AddStringToObject(payloadJSON, "nextTurn", firstTurn.c_str()); char *cRet = cJSON_PrintUnformatted(payloadJSON); payload = cRet; req = buildWarpRequest(RequestType::start_game, payload, byteLen); _socket->sockSend((char*)req, byteLen); delete[] req; cJSON_Delete(payloadJSON); free(cRet); }
// lua_to_json inline cJSON* lua_to_json(lua_State* L){ if(lua_objlen(L, -1) > 0){ cJSON* ele =cJSON_CreateArray(); const int len =lua_objlen(L, -1); for(int i=1; i<=len; ++i){ lua_rawgeti(L, -1, i); if(lua_isnil(L, -1)){ cJSON_AddItemToArray(ele, cJSON_CreateNull()); } else if(lua_isboolean(L, -1)){ if(lua_toboolean(L, -1)){ cJSON_AddItemToArray(ele, cJSON_CreateTrue()); } else{ cJSON_AddItemToArray(ele, cJSON_CreateFalse()); } } else if(lua_isnumber(L, -1)){ cJSON_AddItemToArray(ele, cJSON_CreateNumber(lua_tonumber(L, -1))); } else if(lua_isstring(L, -1)){ cJSON_AddItemToArray(ele, cJSON_CreateString(lua_tostring(L, -1))); } else if(lua_istable(L, -1)){ cJSON_AddItemToArray(ele, lua_to_json(L)); } lua_pop(L, 1); } return ele; } else{ cJSON* ele =cJSON_CreateObject(); lua_pushnil(L); while(0 != lua_next(L, -2)){ if(lua_isstring(L, -2)){ const char* name =lua_tostring(L, -2); if(lua_isboolean(L, -1)){ if(lua_toboolean(L, -1)){ cJSON_AddTrueToObject(ele, name); } else{ cJSON_AddFalseToObject(ele, name); } } else if(lua_isnumber(L, -1)){ cJSON_AddNumberToObject(ele, name, lua_tonumber(L, -1)); } else if(lua_isstring(L, -1)){ cJSON_AddStringToObject(ele, name, lua_tostring(L, -1)); } else if(lua_istable(L, -1)){ cJSON_AddItemToObject(ele, name, lua_to_json(L)); } } lua_pop(L, 1); } return ele; } }
void App42Object::setObject(const char *key, bool value) { if (value) { cJSON_AddTrueToObject(jsonObject, key); } else { cJSON_AddFalseToObject(jsonObject, key); } }
byte * buildLobbyRequest(int requestType, int &len) { std::string payload; cJSON *payloadJSON; payloadJSON = cJSON_CreateObject(); cJSON_AddTrueToObject(payloadJSON, "isPrimary"); char* cRet = cJSON_PrintUnformatted(payloadJSON); payload = cRet; free(cRet); cJSON_Delete(payloadJSON); return buildWarpRequest(requestType, payload, len); }
static void cjson_add_true_should_fail_on_allocation_failure(void) { cJSON *root = cJSON_CreateObject(); cJSON_InitHooks(&failing_hooks); TEST_ASSERT_NULL(cJSON_AddTrueToObject(root, "true")); cJSON_InitHooks(NULL); cJSON_Delete(root); }
static cJSON *create_response_wrong_id() { cJSON *root = cJSON_CreateObject(); BOOST_REQUIRE(root != NULL); cJSON_AddTrueToObject(root, "id"); cJSON_AddStringToObject(root, "result", "o.k."); cJSON *params = cJSON_CreateObject(); BOOST_REQUIRE(params != NULL); cJSON_AddItemToObject(root, "params", params); return root; }
static void cjson_add_true_should_add_true(void) { cJSON *root = cJSON_CreateObject(); cJSON *true_item = NULL; cJSON_AddTrueToObject(root, "true"); TEST_ASSERT_NOT_NULL(true_item = cJSON_GetObjectItemCaseSensitive(root, "true")); TEST_ASSERT_EQUAL_INT(true_item->type, cJSON_True); cJSON_Delete(root); }
static cJSON *create_call_json_rpc_wrong_id_type(const char *path_string) { cJSON *root = cJSON_CreateObject(); BOOST_REQUIRE(root != NULL); cJSON_AddStringToObject(root, "method", "call"); cJSON_AddTrueToObject(root, "id"); cJSON *params = cJSON_CreateObject(); BOOST_REQUIRE(params != NULL); cJSON_AddItemToObject(root, "params", params); cJSON_AddStringToObject(params, "path", path_string); return root; }
bool BeckhoffdListJSON::run(std::vector<Value> ¶ms) { cJSON *root = cJSON_CreateArray(); std::map<std::string, IOComponent*>::const_iterator iter = IOComponent::devices.begin(); while (iter != IOComponent::devices.end()) { std::string name_str = (*iter).first; IOComponent *ioc = (*iter++).second; if (name_str == "!") continue; //TBD cJSON *node = cJSON_CreateObject(); cJSON_AddStringToObject(node, "name", name_str.c_str()); cJSON_AddStringToObject(node, "class", ioc->type()); cJSON_AddNumberToObject(node, "value", ioc->value()); cJSON_AddNumberToObject(node, "module", ioc->address.module_position); ECModule *mod = ECInterface::findModule(ioc->address.module_position); if (mod) { cJSON_AddStringToObject(node, "module_name", mod->name.c_str()); } if (strcmp(ioc->type(), "Output") == 0) cJSON_AddStringToObject(node, "tab", "Outputs"); else if (strcmp(ioc->type(), "AnalogueOutput") == 0) cJSON_AddStringToObject(node, "tab", "Ana.Out"); else if (strcmp(ioc->type(), "AnalogueInput") == 0) cJSON_AddStringToObject(node, "tab", "Ana.In"); else cJSON_AddStringToObject(node, "tab", "Inputs"); cJSON_AddStringToObject(node, "state", ioc->getStateString()); // if (ioc->isOn()) // cJSON_AddStringToObject(node, "state", "on"); // else if (ioc->isOff()) // cJSON_AddStringToObject(node, "state", "off"); // else // cJSON_AddStringToObject(node, "state", "unknown"); cJSON_AddTrueToObject(node, "enabled"); cJSON_AddItemToArray(root, node); } char *res = cJSON_Print(root); cJSON_Delete(root); bool done; char *p = res; while (*p) { *p &= 0x7f; ++p; } if (res) { result_str = res; free(res); done = true; } else { error_str = "JSON error"; done = false; } return done; }
byte * buildCreateRoomRequest(std::string name,std::string owner,int max, std::string properties, int time, int &len) { std::string payload; cJSON *payloadJSON; payloadJSON = cJSON_CreateObject(); cJSON_AddStringToObject(payloadJSON, "name",name.c_str()); cJSON_AddStringToObject(payloadJSON, "owner",owner.c_str()); cJSON_AddNumberToObject(payloadJSON, "maxUsers", max); cJSON_AddStringToObject(payloadJSON, "properties", properties.c_str()); cJSON_AddNumberToObject(payloadJSON, "turnTime", time); cJSON_AddTrueToObject(payloadJSON, "inox"); char* cRet = cJSON_PrintUnformatted(payloadJSON); payload = cRet; free(cRet); cJSON_Delete(payloadJSON); return buildWarpRequest(RequestType::create_room, payload, len); }
int MSG_SetReportedState( int payload_len, char * payload, bool rep_state) { //Publish the new state cJSON *root, *state, *reported_state; root = cJSON_CreateObject(); cJSON_AddItemToObject(root, "state", state = cJSON_CreateObject() ); cJSON_AddItemToObject(state, "reported", reported_state = cJSON_CreateObject() ); if (rep_state) cJSON_AddTrueToObject(reported_state, "active"); else cJSON_AddFalseToObject(reported_state, "active"); snprintf( payload, payload_len, "%s", cJSON_Print(root) ); JSON_CLEAN: if(root) cJSON_Delete(root); return 0; }
void Client::joinRoomInUserRange(int minJoinedUsers, int maxJoinedUsers, bool maxPreferred) { if((_state != ConnectionState::connected) || (_socket == NULL)){ if(_roomlistener != NULL) { room _room; _room.result = ResultCode::connection_error; _roomlistener->onJoinRoomDone(_room); } return; } int byteLen; byte *req; std::string payload; cJSON *payloadJSON; payloadJSON = cJSON_CreateObject(); cJSON_AddNumberToObject(payloadJSON, "minUsers", minJoinedUsers); cJSON_AddNumberToObject(payloadJSON, "maxUsers", maxJoinedUsers); maxPreferred ? cJSON_AddTrueToObject(payloadJSON, "maxPreferred") : cJSON_AddFalseToObject(payloadJSON, "maxPreferred"); char *cRet = cJSON_PrintUnformatted(payloadJSON); payload = cRet; req = buildWarpRequest(RequestType::join_room_range, payload, byteLen); char *data = new char[byteLen]; for(int i=0; i< byteLen; ++i) { data[i] = req[i]; } _socket->sockSend(data, byteLen); delete[] data; delete[] req; cJSON_Delete(payloadJSON); free(cRet); }
void save_presets(int do_update) { char * outputdata; int count, i; cJSON *root, *userobj, *versionobj, *graphicsobj; FILE* f; root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "Powder Toy Preferences", "Don't modify this file unless you know what you're doing. P.S: editing the admin/mod fields in your user info doesn't give you magical powers"); //User Info if(svf_login) { cJSON_AddItemToObject(root, "user", userobj=cJSON_CreateObject()); cJSON_AddStringToObject(userobj, "name", svf_user); cJSON_AddStringToObject(userobj, "id", svf_user_id); cJSON_AddStringToObject(userobj, "session_id", svf_session_id); if(svf_admin) { cJSON_AddTrueToObject(userobj, "admin"); cJSON_AddFalseToObject(userobj, "mod"); } else if(svf_mod) { cJSON_AddFalseToObject(userobj, "admin"); cJSON_AddTrueToObject(userobj, "mod"); } else { cJSON_AddFalseToObject(userobj, "admin"); cJSON_AddFalseToObject(userobj, "mod"); } } //Version Info cJSON_AddItemToObject(root, "version", versionobj=cJSON_CreateObject()); cJSON_AddNumberToObject(versionobj, "major", SAVE_VERSION); cJSON_AddNumberToObject(versionobj, "minor", MINOR_VERSION); cJSON_AddNumberToObject(versionobj, "build", BUILD_NUM); if(do_update) { cJSON_AddTrueToObject(versionobj, "update"); } else { cJSON_AddFalseToObject(versionobj, "update"); } //Display settings cJSON_AddItemToObject(root, "graphics", graphicsobj=cJSON_CreateObject()); cJSON_AddNumberToObject(graphicsobj, "colour", colour_mode); count = 0; i = 0; while(display_modes[i++]) { count++; } cJSON_AddItemToObject(graphicsobj, "display", cJSON_CreateIntArray(display_modes, count)); count = 0; i = 0; while(render_modes[i++]) { count++; } cJSON_AddItemToObject(graphicsobj, "render", cJSON_CreateIntArray(render_modes, count)); //General settings cJSON_AddStringToObject(root, "proxy", http_proxy_string); cJSON_AddNumberToObject(root, "scale", sdl_scale); outputdata = cJSON_Print(root); cJSON_Delete(root); f = fopen("powder.pref", "wb"); if(!f) return; fwrite(outputdata, 1, strlen(outputdata), f); fclose(f); free(outputdata); //Old format, here for reference only /*FILE *f=fopen("powder.def", "wb"); unsigned char sig[4] = {0x50, 0x44, 0x65, 0x68}; unsigned char tmp = sdl_scale; if (!f) return; fwrite(sig, 1, 4, f); save_string(f, svf_user); //save_string(f, svf_pass); save_string(f, svf_user_id); save_string(f, svf_session_id); fwrite(&tmp, 1, 1, f); tmp = cmode; fwrite(&tmp, 1, 1, f); tmp = svf_admin; fwrite(&tmp, 1, 1, f); tmp = svf_mod; fwrite(&tmp, 1, 1, f); save_string(f, http_proxy_string); tmp = SAVE_VERSION; fwrite(&tmp, 1, 1, f); tmp = MINOR_VERSION; fwrite(&tmp, 1, 1, f); tmp = BUILD_NUM; fwrite(&tmp, 1, 1, f); tmp = do_update; fwrite(&tmp, 1, 1, f); fclose(f);*/ }
void save_presets(int do_update) { //*/ int i, count; char * outputdata; cJSON *root, *userobj, *versionobj, *recobj, *graphicsobj, *hudobj; FILE *f = fopen("powder.pref", "wb"); if(!f) return; root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "Powder Toy Preferences", "Don't modify this file unless you know what you're doing. P.S: editing the admin/mod fields in your user info doesn't give you magical powers"); //User Info if(svf_login){ cJSON_AddItemToObject(root, "user", userobj=cJSON_CreateObject()); cJSON_AddStringToObject(userobj, "name", svf_user); cJSON_AddStringToObject(userobj, "id", svf_user_id); cJSON_AddStringToObject(userobj, "session_id", svf_session_id); if(svf_admin){ cJSON_AddTrueToObject(userobj, "admin"); cJSON_AddFalseToObject(userobj, "mod"); } else if(svf_mod){ cJSON_AddFalseToObject(userobj, "admin"); cJSON_AddTrueToObject(userobj, "mod"); } else { cJSON_AddFalseToObject(userobj, "admin"); cJSON_AddFalseToObject(userobj, "mod"); } } //Version Info cJSON_AddItemToObject(root, "version", versionobj=cJSON_CreateObject()); cJSON_AddNumberToObject(versionobj, "major", SAVE_VERSION); cJSON_AddNumberToObject(versionobj, "minor", MINOR_VERSION); cJSON_AddNumberToObject(versionobj, "build", BUILD_NUM); if(do_update){ cJSON_AddTrueToObject(versionobj, "update"); } else { cJSON_AddFalseToObject(versionobj, "update"); } //Fav Menu/Records cJSON_AddItemToObject(root, "records", recobj=cJSON_CreateObject()); cJSON_AddNumberToObject(recobj, "num elements in menu", locked); for (i = 0; i < locked; i++) { char eltext[128] = ""; sprintf(eltext,"element %i",i); cJSON_AddNumberToObject(recobj, eltext, favMenu[18-i]); } cJSON_AddNumberToObject(recobj, "Alternate HUD ON", alt_hud); cJSON_AddNumberToObject(recobj, "Total Time Played", ((double)currentTime/1000)+((double)totaltime/1000)-((double)totalafktime/1000)-((double)afktime/1000)); cJSON_AddNumberToObject(recobj, "Average FPS", totalfps/frames); cJSON_AddNumberToObject(recobj, "Number of frames", frames); cJSON_AddNumberToObject(recobj, "Max FPS", maxfps); cJSON_AddNumberToObject(recobj, "Total AFK Time", ((double)totalafktime/1000)+((double)afktime/1000)+((double)prevafktime/1000)); cJSON_AddNumberToObject(recobj, "Times Played", timesplayed); //Display settings cJSON_AddItemToObject(root, "graphics", graphicsobj=cJSON_CreateObject()); cJSON_AddNumberToObject(graphicsobj, "colour", colour_mode); count = 0; i = 0; while(display_modes[i++]){ count++; } cJSON_AddItemToObject(graphicsobj, "display", cJSON_CreateIntArray(display_modes, count)); count = 0; i = 0; while(render_modes[i++]){ count++; } cJSON_AddItemToObject(graphicsobj, "render", cJSON_CreateIntArray(render_modes, count)); //HUDs cJSON_AddItemToObject(root, "HUD", hudobj=cJSON_CreateObject()); cJSON_AddItemToObject(hudobj, "normal", cJSON_CreateIntArray(hud_normal, HUD_OPTIONS)); cJSON_AddItemToObject(hudobj, "debug", cJSON_CreateIntArray(hud_debug, HUD_OPTIONS)); cJSON_AddItemToObject(hudobj, "modnormal", cJSON_CreateIntArray(hud_modnormal, HUD_OPTIONS)); cJSON_AddItemToObject(hudobj, "moddebug", cJSON_CreateIntArray(hud_moddebug, HUD_OPTIONS)); //General settings cJSON_AddStringToObject(root, "proxy", http_proxy_string); cJSON_AddNumberToObject(root, "scale", sdl_scale); cJSON_AddNumberToObject(root, "Debug mode", DEBUG_MODE); outputdata = cJSON_Print(root); cJSON_Delete(root); fwrite(outputdata, 1, strlen(outputdata), f); fclose(f); free(outputdata); //Old format, here for reference only /*/FILE *f=fopen("powder.def", "wb"); unsigned char sig[4] = {0x50, 0x44, 0x65, 0x68}; unsigned char tmp = sdl_scale; if (!f) return; fwrite(sig, 1, 4, f); save_string(f, svf_user); //save_string(f, svf_pass); save_string(f, svf_user_id); save_string(f, svf_session_id); fwrite(&tmp, 1, 1, f); tmp = cmode; fwrite(&tmp, 1, 1, f); tmp = svf_admin; fwrite(&tmp, 1, 1, f); tmp = svf_mod; fwrite(&tmp, 1, 1, f); save_string(f, http_proxy_string); tmp = SAVE_VERSION; fwrite(&tmp, 1, 1, f); tmp = MINOR_VERSION; fwrite(&tmp, 1, 1, f); tmp = BUILD_NUM; fwrite(&tmp, 1, 1, f); tmp = do_update; fwrite(&tmp, 1, 1, f); fclose(f); /*/ }