qcdm: add event reporting on/off command

Doesn't parse any events yet since we don't know what any events
are.  We also need to fix up ModemManager to handle unsolicited
responses in the QcdmSerialPort class.
This commit is contained in:
Dan Williams
2010-09-01 10:51:22 -05:00
parent 48aabcb60b
commit f3024b46b4
6 changed files with 100 additions and 0 deletions

View File

@@ -1094,6 +1094,35 @@ qcmd_cmd_ext_logmask_result_get_item (QCDMResult *result,
/**********************************************************************/
gsize
qcdm_cmd_event_report_new (char *buf, gsize len, gboolean start, GError **error)
{
char cmdbuf[4];
DMCmdEventReport *cmd = (DMCmdEventReport *) &cmdbuf[0];
g_return_val_if_fail (buf != NULL, 0);
g_return_val_if_fail (len >= sizeof (*cmd) + DIAG_TRAILER_LEN, 0);
memset (cmd, 0, sizeof (*cmd));
cmd->code = DIAG_CMD_EVENT_REPORT;
cmd->on = start ? 1 : 0;
return dm_encapsulate_buffer (cmdbuf, sizeof (*cmd), sizeof (cmdbuf), buf, len);
}
QCDMResult *
qcdm_cmd_event_report_result (const char *buf, gsize len, GError **error)
{
g_return_val_if_fail (buf != NULL, NULL);
if (!check_command (buf, len, DIAG_CMD_EVENT_REPORT, sizeof (DMCmdEventReport), error))
return NULL;
return qcdm_result_new ();
}
/**********************************************************************/
gsize
qcdm_cmd_zte_subsys_status_new (char *buf, gsize len, GError **error)
{