static int test_9_TableManipulation() { swi_status_t res; swi_av_Asset_t* asset = NULL; swi_av_Table_t *table = NULL; const char *columns[] = { "column1", "column2", "column3" }; res = swi_av_Init(); if (res != SWI_STATUS_OK) return res; res = swi_av_asset_Create(&asset, ASSET_ID); if (res != SWI_STATUS_OK) return res; res = swi_av_asset_Start(asset); if (res != SWI_STATUS_OK) return res; res = swi_av_table_Create(asset, &table, "test", 3, columns, "now", STORAGE_RAM, 0); if (res != SWI_STATUS_OK) return res; res = swi_av_table_PushInteger(table, 1234); if (res != SWI_STATUS_OK) return res; res = swi_av_table_PushFloat(table, 1234.1234); if (res != SWI_STATUS_OK) return res; res = swi_av_table_PushString(table, "test"); if (res != SWI_STATUS_OK) return res; res = swi_av_table_PushString(table, "fake push"); if (res != SWI_STATUS_VALUE_OUT_OF_BOUND) return res; res = swi_av_table_PushRow(table); if (res != SWI_STATUS_OK) return res; res = swi_av_table_Destroy(table); if (res != SWI_STATUS_OK) return res; swi_av_asset_Destroy(asset); return 0; }
static void AddBedroomData(swi_av_Asset_t *asset, swi_av_Table_t *table, int temperature) { rc_ReturnCode_t res; LE_INFO("Add bedroom data\n"); swi_av_table_PushInteger(table, temperature); swi_av_table_PushInteger(table, 19); swi_av_table_PushInteger(table, time(NULL)); res = swi_av_table_PushRow(table); if (res != RC_OK) { fprintf(stderr, "Failed to push row to agent\n"); exit(1); } if (temperature < 13) { swi_av_asset_PushInteger(asset, "bedroom.event.temptoolow.temperature", POLICY, SWI_AV_TSTAMP_AUTO, temperature); swi_av_asset_PushInteger(asset, "bedroom.event.temptoolow.alarmtemperature", POLICY, SWI_AV_TSTAMP_AUTO, 13); } }