BrowseModelPrivate::BrowseModelPrivate(ServiceProxyCall *call, const QString &protocolInfo, BrowseModel *parent) : QAbstractListModel(parent) , m_currentOffset(0) , m_busy(true) , m_done(false) , m_protocolInfo(protocolInfo) , m_lastIndex(-1) , m_call(call) , m_settings() , q_ptr(parent) { QHash<int, QByteArray> roles; roles[BrowseRoleTitle] = "title"; roles[BrowseRoleId] = "upnpId"; roles[BrowseRoleUPnPClass] = "upnpClass"; roles[BrowseRoleIcon] = "icon"; roles[BrowseRoleType] = "type"; roles[BrowseRoleDetail] = "detail"; roles[BrowseRoleURI] = "uri"; roles[BrowseRoleMetaData] = "metadata"; roles[BrowseRoleFilter] = "filter"; setRoleNames(roles); qDebug() << "Created browse model"; if (m_call != 0) { connect(m_call, SIGNAL(ready()), SLOT(onCallReady())); m_call->setParent(this); } connect(&m_settings, SIGNAL(filterInDetailsChanged()), SLOT(onFilterInDetailsChanged())); }
void Sim900::process_line(char *line) { static int smsReceived; if (prefix("+CMT: ", line)) { smsReceived = true; powered = true; char *tmp = (char *)malloc((strlen(line) - 6 + 1) * sizeof(char)); memcpy(tmp, &line[6], strlen(line) - 6 + 1); char **sms = split(tmp); strcpy(lastSMSFrom, sms[0]); free(sms); free(tmp); } else if (prefix("+CLIP: ", line)) { powered = true; char *tmp = (char *)malloc((strlen(line) - 7 + 1) * sizeof(char)); memcpy(tmp, &line[7], strlen(line) - 7 + 1); char **clip = split(tmp); strcpy(callerId, clip[0]); free(clip); free(tmp); } else { if (strncmp(line, "OK", 2) == 0) { okReceived = true; errorReceived = false; powered = true; } else if (strncmp(line, "ERROR", 5) == 0) { okReceived = false; errorReceived = true; powered = true; } else if (strncmp(line, "RING", 4) == 0) { okReceived = false; errorReceived = true; powered = true; if (onRing) { if (callerId && callerId[0] == '\0') { onRing(NULL); } else { onRing(callerId); } } } else if (strncmp(line, "NO CARRIER", 10) == 0) { okReceived = false; errorReceived = true; powered = true; if (onNoCarrier) { onNoCarrier(); } } else if (strncmp(line, "Call Ready", 10) == 0) { okReceived = false; errorReceived = false; ready = true; powered = true; if (onCallReady) { onCallReady(); } } else if (strncmp(line, "NORMAL POWER DOWN", 10) == 0) { okReceived = false; errorReceived = false; ready = false; powered = false; if (onPowerDown) { onPowerDown(); } } else { if (smsReceived) { strcpy(lastSMSText, line); if (onSMS) { onSMS(lastSMSFrom, lastSMSText); } smsReceived = false; } okReceived = false; errorReceived = false; powered = true; } } }