コード例 #1
0
ファイル: se.c プロジェクト: aklein53/neard
static DBusMessage *get_properties(DBusConnection *conn,
					DBusMessage *msg, void *data)
{
	struct seel_se *se = data;
	DBusMessage *reply;
	DBusMessageIter array, dict;
	char *se_type = se_to_string(se->se_type);

	DBG("conn %p", conn);

	reply = dbus_message_new_method_return(msg);
	if (reply == NULL)
		return NULL;

	dbus_message_iter_init_append(reply, &array);

	near_dbus_dict_open(&array, &dict);

	near_dbus_dict_append_basic(&dict, "Enabled",
					DBUS_TYPE_BOOLEAN, &se->enabled);

	near_dbus_dict_append_basic(&dict, "Type",
					DBUS_TYPE_STRING, &se_type);

	near_dbus_dict_append_array(&dict, "Channels",
				DBUS_TYPE_OBJECT_PATH, append_channels, se);

	near_dbus_dict_close(&array, &dict);

	return reply;
}
コード例 #2
0
ファイル: agent.c プロジェクト: justinc1985/IntelRangeley
static void ndef_agent_push_records(struct near_ndef_agent *agent,
					struct near_ndef_record *record,
							GList *records)
{
	DBusMessageIter iter, dict;
	DBusMessage *message;
	char *path;
	uint8_t *payload;
	size_t payload_len;

	DBG("");

	if (!agent->sender || !agent->path)
		return;

	DBG("Sending NDEF to %s %s", agent->path, agent->sender);

	message = dbus_message_new_method_call(agent->sender, agent->path,
					NFC_NDEF_AGENT_INTERFACE,
					"GetNDEF");
	if (!message)
		return;

	path = __near_ndef_record_get_path(record);
	payload = __near_ndef_record_get_payload(record, &payload_len);

	dbus_message_iter_init_append(message, &iter);

	near_dbus_dict_open(&iter, &dict);
	near_dbus_dict_append_basic(&dict, "Record",
					DBUS_TYPE_STRING, &path);
	near_dbus_dict_append_fixed_array(&dict, "Payload",
				DBUS_TYPE_BYTE, &payload, payload_len);
	near_dbus_dict_append_array(&dict, "NDEF",
				DBUS_TYPE_BYTE, append_ndef, records);
	near_dbus_dict_close(&iter, &dict);

	DBG("sending...");

	dbus_message_set_no_reply(message, TRUE);

	g_dbus_send_message(connection, message);
}