uint8_t twitter_send(char *status) { /* Transmission taking action */ if (twitter_tmp_buf) return 0; uint8_t len = strlen(status); if (len > 140) { TWDEBUG("message too long: cropping"); len = 140; } twitter_tmp_buf = malloc(140); if (!twitter_tmp_buf) return 0; memcpy(twitter_tmp_buf, status, len); twitter_tmp_buf[len] = 0; uip_ipaddr_t *ipaddr; if (!(ipaddr = resolv_lookup(CONF_TWITTER_SERVICE))) { resolv_query(CONF_TWITTER_SERVICE, twitter_dns_query_cb); } else { twitter_dns_query_cb(NULL, ipaddr); } return 1; }
static void twitter_dns_query_cb(char *name, uip_ipaddr_t *ipaddr) { TWDEBUG("got dns response, connecting\n"); if(!uip_connect(ipaddr, HTONS(80), twitter_net_main)) { if (twitter_tmp_buf) { free(twitter_tmp_buf); twitter_tmp_buf = NULL; } } }
static void twitter_net_main(void) { if (uip_aborted() || uip_timedout()) { TWDEBUG ("connection aborted\n"); if (twitter_tmp_buf) { free(twitter_tmp_buf); twitter_tmp_buf = NULL; } return; } if (uip_closed()) { TWDEBUG ("connection closed\n"); if (twitter_tmp_buf) { free(twitter_tmp_buf); twitter_tmp_buf = NULL; } return; } if (uip_connected() || uip_rexmit()) { TWDEBUG ("new connection or rexmit, sending message\n"); char *p = uip_appdata; p += sprintf_P(p, twitter_header); p += sprintf(p, "%d", strlen(twitter_tmp_buf) + 7); p += sprintf_P(p, twitter_body); p += sprintf(p, twitter_tmp_buf); uip_udp_send(p - (char *)uip_appdata); TWDEBUG("send %d bytes\n", p - (char *)uip_appdata); } if (uip_acked()) { uip_close(); } }
void ComputeThumbnailJob::run(ThreadWeaver::JobPointer, ThreadWeaver::Thread*) { //P_ASSERT(m_image->isFinished()); QImage im = m_image->job()->image(); if (!im.isNull()) { m_thumb = im.scaled(SMIVItemDelegate::ThumbWidth, SMIVItemDelegate::ThumbHeight, Qt::KeepAspectRatio, Qt::SmoothTransformation ); m_image->job()->resetImageData(); } else { TWDEBUG(0, "ComputeThumbNailJob::run: m_image returns a nil image.\n"); } emit thumbnailComplete(); }
void QImageLoader::run(ThreadWeaver::JobPointer, ThreadWeaver::Thread *) { //P_ASSERT(m_file->isFinished()); if (m_file->data() == 0) { TWDEBUG (0, "QImageLoader::run: data array is empty.\n" ); } else { if (m_image.loadFromData ( (const uchar*) m_file->data(), m_file->size())) { m_description = QObject::tr("%1x%2 Pixels").arg(m_image.size().width()).arg(m_image.size().height()); } else { m_description = QObject::tr("Error loading image data from %1.").arg(m_file->filename()); } // free the memory held by the file loader, it is now redundant: m_file->freeMemory(); } }