Exemplo n.º 1
0
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;
}
Exemplo n.º 2
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);
    }
}