ll _query_(int o,int l,int r){ if (ql<=l && r<=qr) return minv[o]; ll ans=INF; int m=l+(r-l)/2; if (ql<=m) ans=min(ans,_query_(o*2,l,m)); if (qr>=m+1) ans=min(ans,_query_(o*2+1,m+1,r)); return ans; }
ll query(int l,int r){ if (l>r) return INF; ql=l; qr=r; return _query_(1,1,n); }
void Petrel::postListSubscriber(quint64 list_id, quint64 id){ QString requestStr("http://api.twitter.com/1/"+m_userid+"/"+QString::number(list_id,10)+"/subscribers.xml"); QUrl requestUrl(requestStr); //addQueryItem if(id!=0) requestUrl.addQueryItem("id",QString::number(id,10)); QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), POST_LIST_SUBSCRIBER); issuePostRequest(req,_query_); }
void Petrel::updateDeliveryDevice(const QString& device){ QString requestStr("http://api.twitter.com/1/account/update_delivery_device.xml"); QUrl requestUrl(requestStr); //addQueryItem if(device!="") requestUrl.addQueryItem("device",device); QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), UPDATE_DELIVERY_DEVICE); issuePostRequest(req,_query_); }
void Petrel::createFavorite(quint64 id){ QString requestStr("http://api.twitter.com/1/favorites/create/"+QString::number(id,10)+".xml"); QUrl requestUrl(requestStr); //addQueryItem QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), CREATE_FAVORITE); issuePostRequest(req,_query_); }
void Petrel::retweet(quint64 id){ QString requestStr("http://api.twitter.com/1/statuses/retweet/"+QString::number(id,10)+".xml"); QUrl requestUrl(requestStr); //addQueryItem QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), RETWEET); issuePutRequest(req,_query_); }
void Petrel::createSavedSearch(const QString& query){ QString requestStr("http://api.twitter.com/1/saved_searches/create.xml"); QUrl requestUrl(requestStr); //addQueryItem if(query!="") requestUrl.addQueryItem("query",query); QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), CREATE_SAVED_SEARCH); issuePostRequest(req,_query_); }
void Petrel::createBlock(quint64 id, quint64 user_id, const QString& screen_name){ QString requestStr("http://api.twitter.com/1/blocks/create/"+QString::number(id,10)+".xml"); QUrl requestUrl(requestStr); //addQueryItem if(user_id!=0) requestUrl.addQueryItem("user_id",QString::number(user_id,10)); if(screen_name!="") requestUrl.addQueryItem("screen_name",screen_name); QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), CREATE_BLOCK); issuePostRequest(req,_query_); }
void Petrel::newDirectMessage(const QString& user, const QString& text){ QString requestStr("http://api.twitter.com/1/direct_messages/new.xml"); QUrl requestUrl(requestStr); //addQueryItem if(user!="") requestUrl.addQueryItem("user",user); if(text!="") requestUrl.addQueryItem("text",text); QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), NEW_DIRECT_MESSAGE); issuePostRequest(req,_query_); }
void Petrel::leaveNotification(quint64 id, quint64 user_id, const QString& screen_name){ QString requestStr("http://api.twitter.com/1/notifications/leave/"+QString::number(id,10)+".xml"); QUrl requestUrl(requestStr); //addQueryItem if(user_id!=0) requestUrl.addQueryItem("user_id",QString::number(user_id,10)); if(screen_name!="") requestUrl.addQueryItem("screen_name",screen_name); QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), LEAVE_NOTIFICATION); issuePostRequest(req,_query_); }
void Petrel::reportSpam(quint64 id, quint64 user_id, const QString& screen_name){ QString requestStr("http://api.twitter.com/1/report_spam.xml"); QUrl requestUrl(requestStr); //addQueryItem if(id!=0) requestUrl.addQueryItem("id",QString::number(id,10)); if(user_id!=0) requestUrl.addQueryItem("user_id",QString::number(user_id,10)); if(screen_name!="") requestUrl.addQueryItem("screen_name",screen_name); QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), REPORT_SPAM); issuePostRequest(req,_query_); }
void Petrel::updateProfile(const QString& name, const QString& url, const QString& location, const QString& description){ QString requestStr("http://api.twitter.com/1/account/update_profile.xml"); QUrl requestUrl(requestStr); //addQueryItem if(name!="") requestUrl.addQueryItem("name",name); if(url!="") requestUrl.addQueryItem("url",url); if(location!="") requestUrl.addQueryItem("location",location); if(description!="") requestUrl.addQueryItem("description",description); QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), UPDATE_PROFILE); issuePostRequest(req,_query_); }
void Petrel::update(const QString& status, quint64 in_reply_to_status_id, const QString& lat, const QString& long_){ QString requestStr("http://api.twitter.com/1/statuses/update.xml"); QUrl requestUrl(requestStr); //addQueryItem if(status!="") requestUrl.addQueryItem("status",status); if(in_reply_to_status_id!=0) requestUrl.addQueryItem("in_reply_to_status_id",QString::number(in_reply_to_status_id,10)); if(lat!="") requestUrl.addQueryItem("lat",lat); if(long_!="") requestUrl.addQueryItem("long",long_); QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), UPDATE); issuePostRequest(req,_query_); }
void Petrel::postListsId(const QString& name, const QString& mode, const QString& description, quint64 list_id, quint64 id){ QString requestStr("http://api.twitter.com/1/"+m_userid+"/lists/"+QString::number(id,10)+".xml"); QUrl requestUrl(requestStr); //addQueryItem if(name!="") requestUrl.addQueryItem("name",name); if(mode!="") requestUrl.addQueryItem("mode",mode); if(description!="") requestUrl.addQueryItem("description",description); if(list_id!=0) requestUrl.addQueryItem("list_id",QString::number(list_id,10)); QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), POST_LISTS_ID); issuePutRequest(req,_query_); }
void Petrel::updateProfileColor(const QString& profile_background_color, const QString& profile_text_color, const QString& profile_link_color, const QString& profile_sidebar_fill_color, const QString& profile_sidebar_border_color){ QString requestStr("http://api.twitter.com/1/account/update_profile_colors.xml"); QUrl requestUrl(requestStr); //addQueryItem if(profile_background_color!="") requestUrl.addQueryItem("profile_background_color",profile_background_color); if(profile_text_color!="") requestUrl.addQueryItem("profile_text_color",profile_text_color); if(profile_link_color!="") requestUrl.addQueryItem("profile_link_color",profile_link_color); if(profile_sidebar_fill_color!="") requestUrl.addQueryItem("profile_sidebar_fill_color",profile_sidebar_fill_color); if(profile_sidebar_border_color!="") requestUrl.addQueryItem("profile_sidebar_border_color",profile_sidebar_border_color); QByteArray _query_(requestUrl.encodedQuery()); QNetworkRequest req(requestUrl.toString(QUrl::RemoveQuery)); req.setAttribute((QNetworkRequest::Attribute)(QNetworkRequest::User + ATTR_ROLE), UPDATE_PROFILE_COLOR); issuePostRequest(req,_query_); }