示例#1
0
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;
}
示例#2
0
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;
    }
  }

}
示例#3
0
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();
    }
}