Example #1
0
static void ril_cbs_notify(GRilIoChannel *io, guint code,
				const void *data, guint len, void *user_data)
{
	struct ril_cbs *cd = user_data;
	GRilIoParser rilp;
	char* pdu;

	GASSERT(code == RIL_UNSOL_ON_USSD);
	grilio_parser_init(&rilp, data, len);
	pdu = grilio_parser_get_utf8(&rilp);
	DBG("%s", pdu);
	if (pdu) {
		ofono_cbs_notify(cd->cbs, (const guchar *)pdu, strlen(pdu));
		g_free(pdu);
	}
}
Example #2
0
static void ril_cbs_notify(struct ril_msg *message, gpointer user_data)
{
	struct ofono_cbs *cbs = user_data;

	/*
	 * Ofono does not support UMTS CB - see
	 * src/smsutil.c method cbs_decode.
	 * But let's let the core to make
	 * the rejection reserve memory here
	 * for maximum UMTS CB length
	 */

	unsigned char pdu[1252];
	char *resp;
	struct parcel rilp;

	ril_util_init_parcel(message, &rilp);

	resp = parcel_r_string(&rilp);

	memcpy(resp, pdu, strlen((char *)resp));

	ofono_cbs_notify(cbs, pdu, strlen((char *)resp));
}