コード例 #1
0
cJSON *kr_context_dump_json(T_KRContext *ptContext)
{
    cJSON *alert = cJSON_CreateObject();

    /*add group info*/
    T_KRGroup *krgroup = ptContext->ptFlow->ptRoutedGroup;
    cJSON_AddNumberToObject(alert, "groupid", krgroup->lGroupId);

    /*add current record info*/
    cJSON *currec = cJSON_CreateObject();
    _set_cjson_record(ptContext->ptCurrRec, currec);
    cJSON_AddItemToObject(alert, "currec", currec);

    /*add rules info*/
    cJSON *rules = cJSON_CreateArray();
    kr_list_foreach(krgroup->ptRuleList->ptRuleList, 
            (KRForEachFunc )_add_rule, rules);
    cJSON_AddItemToObject(alert, "rules", rules);

    /*add dataitems info*/
    cJSON *datas = cJSON_CreateObject();
    T_KRHashTable *ptSdiTable = ptContext->ptData->ptSdiTable->ptSDITable;
    _add_sdis_to_data(ptSdiTable, datas);
    T_KRHashTable *ptDdiTable = ptContext->ptData->ptDdiTable->ptDDITable;
    _add_ddis_to_data(ptDdiTable, datas);
    T_KRHashTable *ptHdiTable = ptContext->ptData->ptHdiTable->ptHDITable;
    _add_hdis_to_data(ptHdiTable, datas);
    cJSON_AddItemToObject(alert, "datas", datas);

    return alert;
}
コード例 #2
0
ファイル: kr_group_func.c プロジェクト: cdrr/krproject
int kr_group_func(T_KRGroup *krgroup, T_KRContext *krcontext)
{
    /*add alert info*/
    cJSON *alert = cJSON_CreateObject();
    cJSON_AddNumberToObject(alert, "groupid", krgroup->lGroupId);

    /*add current record info*/
    cJSON *currec = cJSON_CreateObject();
    _set_cjson_record(krcontext->ptCurrRec, currec);
    cJSON_AddItemToObject(alert, "currec", currec);

    /*add rules info*/
    cJSON *rules = cJSON_CreateArray();
    kr_list_foreach(krgroup->ptRuleList->ptRuleList, (KRForEachFunc )_add_rule, rules);
    cJSON_AddItemToObject(alert, "rules", rules);

    /*add dataitems info*/
    cJSON *datas = cJSON_CreateObject();
    T_KRHashTable *sditable = krcontext->ptDym->sditable->ptSDITable;
    _add_sdis_to_data(sditable, datas);
    T_KRHashTable *dditable = krcontext->ptDym->dditable->ptDDITable;
    _add_ddis_to_data(dditable, datas);
    T_KRHashTable *hditable = krcontext->ptDym->hditable->ptHDITable;
    _add_hdis_to_data(hditable, datas);
    cJSON_AddItemToObject(alert, "datas", datas);

    krcontext->pcaResp = cJSON_PrintUnformatted(alert);
    cJSON_Delete(alert);

    /*Important: You need kr_free Response*/
    printf("response: %s\n", krcontext->pcaResp);
    KR_LOG(KR_LOGDEBUG, "response : %s ", krcontext->pcaResp);
    return 0;
}