/// <summary>
/// Execute http get request
/// </summary>
/// <param name="url">url for the http get request</param>
/// <returns>string of the http get request or empty string in case of failure</returns>
string VulkanDatabase::httpGet(string url)
{
    manager = new QNetworkAccessManager(NULL);

    QUrl qurl(QString::fromStdString(url));

    if (dbLogin)
    {
        qurl.setUserName(dbUser);
        qurl.setPassword(dbPass);
    }

    QNetworkReply* reply = manager->get(QNetworkRequest(qurl));

    QEventLoop loop;
    connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
    loop.exec();

    if (reply->error() == QNetworkReply::NoError)
    {
        QByteArray bytes = reply->readAll();
        QString replyStr(bytes);
        delete(manager);
        return replyStr.toStdString();
    }
    else
    {
        QString err;
        err = reply->errorString();
        delete(manager);
        return "";
    }
}
예제 #2
0
void GoogleMapChart::replyFinished(QNetworkReply *reply){
    QString replyStr( reply->readAll() );
    QStringList coordinateStrList = replyStr.split(",");

    if(coordinateStrList.size() == 4){
        QPointF coordinate( coordinateStrList[2].toFloat(),coordinateStrList[3].toFloat() );
        coordinates << coordinate;
    }

    --pendingRequests;
    if(pendingRequests < 1)
        emit(reloadMap());
}
예제 #3
0
void QGoogleMap::reply(QNetworkReply *rep) {

    QString replyStr( rep->readAll() );
    QStringList coordinateStrList = replyStr.split(",");

    if( coordinateStrList.size() == 4) {
        QPointF coordinate( coordinateStrList[2].toFloat(),coordinateStrList[3].toFloat() );
        coord << coordinate;
    }
    --pendingReq;
    if( pendingReq<1 )
        emit( reloadMap());
}
/// <summary>
/// Execute http post
/// </summary>
/// <param name="url">url for the http post</param>
/// <param name="data">string data to post</param>
/// <returns>Server answer</returns>
string VulkanDatabase::httpPost(string url, string data)
{
    manager = new QNetworkAccessManager(NULL);

    QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);

    QHttpPart jsonPart;
    jsonPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"data\"; filename=\"vulkanreport.json\""));
    jsonPart.setBody(QString::fromStdString(data).toLatin1());
    multiPart->append(jsonPart);

    QUrl qurl(QString::fromStdString(url));

    if (dbLogin)
    {
        qurl.setUserName(dbUser);
        qurl.setPassword(dbPass);
    }

    QNetworkRequest request(qurl);
    QNetworkReply *reply = manager->post(request, multiPart);
    multiPart->setParent(reply);

    QEventLoop loop;
    connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
    loop.exec();

    if (reply->error() == QNetworkReply::NoError)
    {
        QByteArray bytes = reply->readAll();
        QString replyStr(bytes);
        delete(manager);
        return replyStr.toStdString();
    }
    else
    {
        QString err;
        err = reply->errorString();
        delete(manager);
        return err.toStdString();
    }
}
예제 #5
0
void Petrel::replyFinished(QNetworkReply *reply)
{
    QNetworkRequest request = reply->request();
    QString replyStr( reply->readAll() );
    int role = request.attribute( (QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE) ).toInt();
    QDomDocument doc;
    doc.setContent(replyStr);
    switch(role){
        //autogenerated choice
        case AVAILABLE_TRENDS:
        {
          locations_t l(doc.documentElement());
          emit availableTrendsReceived(l);
          break;
        }
        case BLOCKING_IDS_BLOCKS:
        {
          ids_t i(doc.documentElement());
          emit blocking_IdsBlocksReceived(i);
          break;
        }
        case CREATE_BLOCK:
        {
          user_t u(doc.documentElement());
          emit createBlockReceived(u);
          break;
        }
        case CREATE_FAVORITE:
        {
          status_t s(doc.documentElement());
          emit createFavoriteReceived(s);
          break;
        }
        case CREATE_FRIENDSHIP:
        {
          user_t u(doc.documentElement());
          emit createFriendshipReceived(u);
          break;
        }
        case CREATE_SAVED_SEARCH:
        {
          saved_search_t s(doc.documentElement());
          emit createSavedSearchReceived(s);
          break;
        }
        case DELETE_LIST_ID:
        {
          list_t l(doc.documentElement());
          emit deleteListIdReceived(l);
          break;
        }
        case DELETE_LIST_MEMBER:
        {
          list_t l(doc.documentElement());
          emit deleteListMemberReceived(l);
          break;
        }
        case DELETE_LIST_SUBSCRIBER:
        {
          list_t l(doc.documentElement());
          emit deleteListSubscriberReceived(l);
          break;
        }
        case DESTROY:
        {
          status_t s(doc.documentElement());
          emit destroyReceived(s);
          break;
        }
        case DESTROY_BLOCK:
        {
          user_t u(doc.documentElement());
          emit destroyBlockReceived(u);
          break;
        }
        case DESTROY_DIRECT_MESSAGE:
        {
          direct_message_t d(doc.documentElement());
          emit destroyDirectMessageReceived(d);
          break;
        }
        case DESTROY_FAVORITE:
        {
          status_t s(doc.documentElement());
          emit destroyFavoriteReceived(s);
          break;
        }
        case DESTROY_FRIENDSHIP:
        {
          user_t u(doc.documentElement());
          emit destroyFriendshipReceived(u);
          break;
        }
        case DESTROY_SAVED_SEARCH:
        {
          saved_search_t s(doc.documentElement());
          emit destroySavedSearchReceived(s);
          break;
        }
        case DIRECT_MESSAGES:
        {
          direct_messages_t d(doc.documentElement());
          emit directMessagesReceived(d);
          break;
        }
        case EXISTS_FRIENDSHIPS:
        {
          friends_t f(doc.documentElement());
          emit existsFriendshipsReceived(f);
          break;
        }
        case FAVORITES:
        {
          statuses_t s(doc.documentElement());
          emit favoritesReceived(s);
          break;
        }
        case FOLLOW_NOTIFICATION:
        {
          user_t u(doc.documentElement());
          emit followNotificationReceived(u);
          break;
        }
        case FOLLOWERS:
        {
          users_t u(doc.documentElement());
          emit followersReceived(u,0,0); // temp
          break;
        }
        case FRIENDS:
        {
          users_t u(doc.documentElement());
          emit friendsReceived(u,0,0); // temp
          break;
        }
        case FRIENDS_TIMELINE:
        {
          statuses_t s(doc.documentElement());
          emit friendsTimelineReceived(s);
          break;
        }
        case GET_LIST_ID:
        {
          list_t l(doc.documentElement());
          emit getListIdReceived(l);
          break;
        }
        case GET_LIST_MEMBERS:
        {
          users_list_t u(doc.documentElement());
          emit getListMembersReceived(u);
          break;
        }
        case GET_LIST_MEMBERS_ID:
        {
          user_t u(doc.documentElement());
          emit getListMembersIdReceived(u);
          break;
        }
        case GET_LIST_MEMBERSHIPS:
        {
          lists_list_t l(doc.documentElement());
          emit getListMembershipsReceived(l);
          break;
        }
        case GET_LIST_STATUSES:
        {
          statuses_t s(doc.documentElement());
          emit getListStatusesReceived(s);
          break;
        }
        case GET_LIST_SUBSCRIBERS:
        {
          users_list_t u(doc.documentElement());
          emit getListSubscribersReceived(u);
          break;
        }
        case GET_LIST_SUBSCRIBERS_ID:
        {
          user_t u(doc.documentElement());
          emit getListSubscribersIdReceived(u);
          break;
        }
        case GET_LIST_SUBSCRIPTIONS:
        {
          lists_list_t l(doc.documentElement());
          emit getListSubscriptionsReceived(l);
          break;
        }
        case GET_LISTS:
        {
          lists_list_t l(doc.documentElement());
          emit getListsReceived(l);
          break;
        }
        case HOME_TIMELINE:
        {
          statuses_t s(doc.documentElement());
          emit homeTimelineReceived(s);
          break;
        }
        case IDS_FOLLOWERS:
        {
          id_list_t i(doc.documentElement());
          emit idsFollowersReceived(i);
          break;
        }
        case IDS_FRIENDS:
        {
          id_list_t i(doc.documentElement());
          emit idsFriendsReceived(i);
          break;
        }
        case LEAVE_NOTIFICATION:
        {
          user_t u(doc.documentElement());
          emit leaveNotificationReceived(u);
          break;
        }
        case LOCATION_TRENDS:
        {
          matching_trends_t m(doc.documentElement());
          emit locationTrendsReceived(m);
          break;
        }
        case MENTIONS:
        {
          statuses_t s(doc.documentElement());
          emit mentionsReceived(s);
          break;
        }
        case NEW_DIRECT_MESSAGE:
        {
          direct_message_t d(doc.documentElement());
          emit newDirectMessageReceived(d);
          break;
        }
        case POST_LIST:
        {
          list_t l(doc.documentElement());
          emit postListReceived(l);
          break;
        }
        case POST_LIST_MEMBER:
        {
          list_t l(doc.documentElement());
          emit postListMemberReceived(l);
          break;
        }
        case POST_LIST_SUBSCRIBER:
        {
          list_t l(doc.documentElement());
          emit postListSubscriberReceived(l);
          break;
        }
        case POST_LISTS_ID:
        {
          list_t l(doc.documentElement());
          emit postListsIdReceived(l);
          break;
        }
        case PUBLIC_TIMELINE:
        {
          statuses_t s(doc.documentElement());
          emit publicTimelineReceived(s);
          break;
        }
        case RATE_LIMIT_STATUS:
        {
          hash_t h(doc.documentElement());
          emit rateLimitStatusReceived(h);
          break;
        }
        case REPORT_SPAM:
        {
          user_t u(doc.documentElement());
          emit reportSpamReceived(u);
          break;
        }
        case RETWEET:
        {
          status_t s(doc.documentElement());
          emit retweetReceived(s);
          break;
        }
        case RETWEETED_BY_ME:
        {
          statuses_t s(doc.documentElement());
          emit retweetedByMeReceived(s);
          break;
        }
        case RETWEETED_TO_ME:
        {
          statuses_t s(doc.documentElement());
          emit retweetedToMeReceived(s);
          break;
        }
        case RETWEETS:
        {
          statuses_t s(doc.documentElement());
          emit retweetsReceived(s);
          break;
        }
        case RETWEETS_OF_ME:
        {
          statuses_t s(doc.documentElement());
          emit retweetsOfMeReceived(s);
          break;
        }
        case SAVED_SEARCHES:
        {
          saved_searches_t s(doc.documentElement());
          emit savedSearchesReceived(s);
          break;
        }
        case SEARCH_USERS:
        {
          users_t u(doc.documentElement());
          emit searchUsersReceived(u);
          break;
        }
        case SENT_DIRECT_MESSAGES:
        {
          direct_messages_t d(doc.documentElement());
          emit sentDirectMessagesReceived(d);
          break;
        }
        case SHOW:
        {
          status_t s(doc.documentElement());
          emit showReceived(s);
          break;
        }
        case SHOW_FRIENDSHIPS:
        {
          relationship_t r(doc.documentElement());
          emit showFriendshipsReceived(r);
          break;
        }
        case SHOW_SAVED_SEARCH:
        {
          saved_search_t s(doc.documentElement());
          emit showSavedSearchReceived(s);
          break;
        }
        case SHOW_USERS:
        {
          user_t u(doc.documentElement());
          emit showUsersReceived(u);
          break;
        }
        case TEST_HELP:
        {
          ok_t o(doc.documentElement());
          emit testHelpReceived(o);
          break;
        }
        case UPDATE:
        {
          status_t s(doc.documentElement());
          emit updateReceived(s);
          break;
        }
        case UPDATE_DELIVERY_DEVICE:
        {
          user_t u(doc.documentElement());
          emit updateDeliveryDeviceReceived(u);
          break;
        }
        case UPDATE_PROFILE:
        {
          user_t u(doc.documentElement());
          emit updateProfileReceived(u);
          break;
        }
        case UPDATE_PROFILE_BACKGROUND_IMAGE:
        {
          user_t u(doc.documentElement());
          emit updateProfileBackgroundImageReceived(u);
          break;
        }
        case UPDATE_PROFILE_COLOR:
        {
          user_t u(doc.documentElement());
          emit updateProfileColorReceived(u);
          break;
        }
        case UPDATE_PROFILE_IMAGE:
        {
          user_t u(doc.documentElement());
          emit updateProfileImageReceived(u);
          break;
        }
        case USER_TIMELINE:
        {
          statuses_t s(doc.documentElement());
          emit userTimelineReceived(s);
          break;
        }
        case VERIFY_CREDENTIALS:
        {
          user_t u(doc.documentElement());
          emit verifyCredentialsReceived(u);
          break;
        }

    }
    reply->deleteLater();
}