static void msg_reg_parse(json_t *jobj, struct message_registry *mr)
{
	json_t *oem_json = NULL;
	json_t *mjobj = NULL;
	load_json_str_value(mr->name,		MAX_NAME_SIZE, jobj, "Name");
	load_json_str_value(mr->modified,	MAX_MODIFIED_SIZE, jobj, "Modified");
	load_json_str_value(mr->type,		MAX_TYPE_SIZE, jobj, "Type");
	load_json_str_value(mr->lang,		MAX_LANGUAGE_SIZE, jobj, "Language");
	load_json_str_value(mr->desc,		MAX_DESCRIPTION_SIZE, jobj, "Description");
	load_json_str_value(mr->prefix,	MAX_PREFIX_SIZE, jobj, "RegistryPrefix");
	load_json_str_value(mr->ver,		MAX_VERSION_SIZE, jobj, "Version");
	load_json_str_value(mr->entity,	MAX_ENTITY_SIZE, jobj, "OwningEntity");

	mjobj = json_object_get(jobj, "Messages");
	if (mjobj == NULL){
		printf("fail to get json Message field.\n");
		return;
	}
	mr->msg_header	= msg_parse(mjobj);
	oem_json = json_object_get(jobj, "Oem");;
	if (oem_json == NULL) {
		printf("fail to get json Oem field.\n");
		return;
	}
	mr->oem_data	= oem_parse(oem_json);
}
Esempio n. 2
0
static void msg_reg_parse(json_t *jobj, struct message_registry *mr)
{
	json_t *oem_json = NULL;
	json_t *mjobj = NULL;
	load_json_str_value(mr->odata_context,		MAX_NAME_SIZE, jobj, "@odata.context");
	load_json_str_value(mr->odata_id,	MAX_MODIFIED_SIZE, jobj, "@odata.id");
	load_json_str_value(mr->odata_type,		MAX_TYPE_SIZE, jobj, "@odata.type");
	load_json_str_value(mr->lang,		MAX_LANGUAGE_SIZE, jobj, "Language");
	load_json_str_value(mr->prefix,	MAX_PREFIX_SIZE, jobj, "RegistryPrefix");
	load_json_str_value(mr->ver,		MAX_VERSION_SIZE, jobj, "RegistryVersion");
	load_json_str_value(mr->entity,	MAX_ENTITY_SIZE, jobj, "OwningEntity");

	mjobj = json_object_get(jobj, "Messages");
	if (mjobj == NULL){
		printf("fail to get json Message field.\n");
		return;
	}
	mr->msg_header = msg_parse(mjobj);
/*
	oem_json = json_object_get(jobj, "Oem");;
	if (oem_json == NULL) {
		printf("fail to get json Oem field.\n");
		return;
	}
	mr->oem_data	= oem_parse(oem_json);
*/
}
Esempio n. 3
0
static struct mr_message *msg_parse(json_t *jobj)
{
	struct mr_message	*pmsg			= NULL;
	struct mr_message	*pmsg_header	= NULL;
	struct json_t		*jmsg_body		= NULL;
	struct json_t		*tmp			= NULL;
	int32				sn				= 1;
	json_pair_t *pair;
	json_object_t *obj = json_to_object(jobj);

	for (pair = obj->next; pair != NULL; pair = pair->next) {
		if (pmsg == NULL) {
			pmsg = (struct mr_message *)malloc(sizeof(struct mr_message));
			if (pmsg == NULL)
				continue;
            memset(pmsg, 0, sizeof(struct mr_message));
			pmsg_header = pmsg;
		} else {
			pmsg->pnext = (struct mr_message *)malloc(sizeof(struct mr_message));
			if (pmsg->pnext == NULL)
				continue;
			memset(pmsg->pnext, 0, sizeof(struct mr_message));
			pmsg = pmsg->pnext;
		}

		strncpy(pmsg->msg_sn_str, pair->name, MAX_IDENTITY_SIZE - 1);
		pmsg->msg_sn = sn;
		pmsg->index = get_json_int(pair->value, "_ArgPos");
		load_json_str_value(pmsg->desc,		MAX_SEVERITY_SIZE, pair->value, "Description");
		load_json_str_value(pmsg->msg,			MAX_MESSAGE_SIZE, pair->value, "Message");
		load_json_str_value(pmsg->severity,	MAX_SEVERITY_SIZE, pair->value, "Severity");
		pmsg->num_of_args = (int32)json_integer_value(json_object_get(pair->value, "NumberOfArgs"));
		param_type_parse(json_object_get(pair->value, "ParamTypes"), pmsg->types);

		/*
		load_json_str_value(pmsg->resolution,  MAX_LSTR_SIZE, pair->value, "Resolution");
		pmsg->oem_msg = oem_parse(json_object_get(pair->value, "Oem"));
		*/
		sn++;
	}

	return pmsg_header;
}
Esempio n. 4
0
static struct oem *oem_parse(json_t *jobj)
{
	struct oem *poem = NULL;
	struct oem *poem_header = NULL;
	json_object_t *obj = json_to_object(jobj);
	json_pair_t *pair;

	for (pair = obj->next; pair != NULL; pair = pair->next) {
		if (poem == NULL) {
			poem = (struct oem *)malloc(sizeof(struct oem));
			poem_header = poem;
		} else {
			poem->pnext = (struct oem *)malloc(sizeof(struct oem));
			poem = poem->pnext;
		}
		strncpy_safe(poem->id_str, pair->name, MAX_SEVERITY_SIZE, MAX_SEVERITY_SIZE - 1);
		load_json_str_value(poem->type, MAX_TYPE_SIZE, pair->value, "Type");
	}

	return poem_header;
}