mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 00:11:14 +02:00
Merge branch 'master' into pu/msgbox
This commit is contained in:
@@ -278,6 +278,7 @@ CTimerList::CTimerList()
|
|||||||
Timer = new CTimerdClient();
|
Timer = new CTimerdClient();
|
||||||
timerNew_message = "";
|
timerNew_message = "";
|
||||||
timerNew_pluginName = "";
|
timerNew_pluginName = "";
|
||||||
|
httpConnectTimeout = 3;
|
||||||
|
|
||||||
/* most probable default */
|
/* most probable default */
|
||||||
saved_dispmode = (int)CVFD::MODE_TVRADIO;
|
saved_dispmode = (int)CVFD::MODE_TVRADIO;
|
||||||
@@ -296,9 +297,12 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
if(actionKey == "add_ip") {
|
if(actionKey == "add_ip") {
|
||||||
std::string remoteip;
|
std::string remoteip;
|
||||||
CIPInput remotebox_NetworkIP(LOCALE_REMOTEBOX_IP , &remoteip);
|
CIPInput remotebox_NetworkIP(LOCALE_REMOTEBOX_IP , &remoteip);
|
||||||
|
remotebox_NetworkIP.enableSaveScreen(true);
|
||||||
if ((remotebox_NetworkIP.exec(NULL,"") == true) && (!remoteip.empty())) {
|
if ((remotebox_NetworkIP.exec(NULL,"") == true) && (!remoteip.empty())) {
|
||||||
remboxmenu->addItem(new CMenuForwarder(remoteip, true, NULL, this, "cha_ip"));
|
remboxmenu->addItem(new CMenuForwarder(remoteip, true, NULL, this, "cha_ip"));
|
||||||
remotebox_NetworkIP.hide();
|
remotebox_NetworkIP.hide();
|
||||||
|
remboxmenu->enableSaveScreen(false);
|
||||||
|
remboxmenu->hide();
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
@@ -308,7 +312,8 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
bselected = remboxmenu->getSelected();
|
bselected = remboxmenu->getSelected();
|
||||||
if (bselected >= item_offset) {
|
if (bselected >= item_offset) {
|
||||||
remboxmenu->removeItem(bselected);
|
remboxmenu->removeItem(bselected);
|
||||||
remboxmenu->hide();
|
remboxmenu->enableSaveScreen(false);
|
||||||
|
remboxmenu->hide();
|
||||||
bselected = remboxmenu->getSelected();
|
bselected = remboxmenu->getSelected();
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
@@ -321,9 +326,12 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
CMenuForwarder *f = static_cast<CMenuForwarder*>(item);
|
CMenuForwarder *f = static_cast<CMenuForwarder*>(item);
|
||||||
std::string remoteip = f->getName();
|
std::string remoteip = f->getName();
|
||||||
CIPInput remotebox_NetworkIP(LOCALE_REMOTEBOX_IP , &remoteip);
|
CIPInput remotebox_NetworkIP(LOCALE_REMOTEBOX_IP , &remoteip);
|
||||||
|
remotebox_NetworkIP.enableSaveScreen(true);
|
||||||
if (remotebox_NetworkIP.exec(NULL,"") == true) {
|
if (remotebox_NetworkIP.exec(NULL,"") == true) {
|
||||||
f->setName(remoteip);
|
f->setName(remoteip);
|
||||||
remotebox_NetworkIP.hide();
|
remotebox_NetworkIP.hide();
|
||||||
|
remboxmenu->enableSaveScreen(false);
|
||||||
|
remboxmenu->hide();
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
@@ -362,7 +370,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
r_url += "&rs=on";
|
r_url += "&rs=on";
|
||||||
r_url += "&id=" + to_string((int)timerlist[selected].eventID);
|
r_url += "&id=" + to_string((int)timerlist[selected].eventID);
|
||||||
//printf("[remotetimer] url:%s\n",r_url.c_str());
|
//printf("[remotetimer] url:%s\n",r_url.c_str());
|
||||||
r_url = httpTool.downloadString(r_url);
|
r_url = httpTool.downloadString(r_url, -1, httpConnectTimeout);
|
||||||
//printf("[remotetimer] status:%s\n",r_url.c_str());
|
//printf("[remotetimer] status:%s\n",r_url.c_str());
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
@@ -387,7 +395,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
r_url += "&aj=on";
|
r_url += "&aj=on";
|
||||||
r_url += "&rs=on";
|
r_url += "&rs=on";
|
||||||
//printf("[remotetimer] url:%s\n",r_url.c_str());
|
//printf("[remotetimer] url:%s\n",r_url.c_str());
|
||||||
r_url = httpTool.downloadString(r_url);
|
r_url = httpTool.downloadString(r_url, -1, httpConnectTimeout);
|
||||||
//printf("[remotetimer] status:%s\n",r_url.c_str());
|
//printf("[remotetimer] status:%s\n",r_url.c_str());
|
||||||
if (r_url=="ok")
|
if (r_url=="ok")
|
||||||
Timer->removeTimerEvent(timerlist[selected].eventID);
|
Timer->removeTimerEvent(timerlist[selected].eventID);
|
||||||
@@ -423,7 +431,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
r_url += "&id=" + eventID;
|
r_url += "&id=" + eventID;
|
||||||
//printf("[remotetimer] url:%s\n",r_url.c_str());
|
//printf("[remotetimer] url:%s\n",r_url.c_str());
|
||||||
if (res > 0)
|
if (res > 0)
|
||||||
r_url = httpTool.downloadString(r_url);
|
r_url = httpTool.downloadString(r_url, -1, httpConnectTimeout);
|
||||||
//printf("[remotetimer] status:%s\n",r_url.c_str());
|
//printf("[remotetimer] status:%s\n",r_url.c_str());
|
||||||
}
|
}
|
||||||
else if (strcmp(key, "del_remotetimer") == 0)
|
else if (strcmp(key, "del_remotetimer") == 0)
|
||||||
@@ -435,7 +443,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
r_url += "/control/timer?action=remove";
|
r_url += "/control/timer?action=remove";
|
||||||
r_url += "&id=" + to_string((int)timerlist[selected].eventID);
|
r_url += "&id=" + to_string((int)timerlist[selected].eventID);
|
||||||
//printf("[remotetimer] url:%s\n",r_url.c_str());
|
//printf("[remotetimer] url:%s\n",r_url.c_str());
|
||||||
r_url = httpTool.downloadString(r_url);
|
r_url = httpTool.downloadString(r_url, -1, httpConnectTimeout);
|
||||||
//printf("[remotetimer] status:%s\n",r_url.c_str());
|
//printf("[remotetimer] status:%s\n",r_url.c_str());
|
||||||
}
|
}
|
||||||
else if (strcmp(key, "update_remotetimer") == 0)
|
else if (strcmp(key, "update_remotetimer") == 0)
|
||||||
@@ -452,7 +460,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
r_url += "&aj=on";
|
r_url += "&aj=on";
|
||||||
r_url += "&rs=on";
|
r_url += "&rs=on";
|
||||||
//printf("[remotetimer] url:%s\n",r_url.c_str());
|
//printf("[remotetimer] url:%s\n",r_url.c_str());
|
||||||
r_url = httpTool.downloadString(r_url);
|
r_url = httpTool.downloadString(r_url, -1, httpConnectTimeout);
|
||||||
//printf("[remotetimer] status:%s\n",r_url.c_str());
|
//printf("[remotetimer] status:%s\n",r_url.c_str());
|
||||||
}
|
}
|
||||||
else if (strcmp(key, "newtimer") == 0)
|
else if (strcmp(key, "newtimer") == 0)
|
||||||
@@ -665,7 +673,7 @@ bool CTimerList::remoteChanExists(t_channel_id channel_id)
|
|||||||
r_url += timerlist[selected].remotebox_ip;
|
r_url += timerlist[selected].remotebox_ip;
|
||||||
r_url += "/control/getchannel?format=json&id=";
|
r_url += "/control/getchannel?format=json&id=";
|
||||||
r_url += string_printf_helper(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, channel_id);
|
r_url += string_printf_helper(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, channel_id);
|
||||||
r_url = httpTool.downloadString(r_url);
|
r_url = httpTool.downloadString(r_url, -1, httpConnectTimeout);
|
||||||
|
|
||||||
Json::Value root;
|
Json::Value root;
|
||||||
Json::Reader reader;
|
Json::Reader reader;
|
||||||
@@ -705,7 +713,7 @@ void CTimerList::remoteTimerList(CTimerd::TimerList &rtimerlist)
|
|||||||
r_url = "http://";
|
r_url = "http://";
|
||||||
r_url += *it;
|
r_url += *it;
|
||||||
r_url += "/control/timer?format=json";
|
r_url += "/control/timer?format=json";
|
||||||
r_url = httpTool.downloadString(r_url);
|
r_url = httpTool.downloadString(r_url, -1, httpConnectTimeout);
|
||||||
//printf("[remotetimer] timers:%s\n",r_url.c_str());
|
//printf("[remotetimer] timers:%s\n",r_url.c_str());
|
||||||
|
|
||||||
Json::Value root;
|
Json::Value root;
|
||||||
@@ -903,8 +911,7 @@ int CTimerList::show()
|
|||||||
}
|
}
|
||||||
else if (msg==CRCInput::RC_setup)
|
else if (msg==CRCInput::RC_setup)
|
||||||
{
|
{
|
||||||
enterRemoteBox();
|
update = enterRemoteBox();
|
||||||
update=true;
|
|
||||||
}
|
}
|
||||||
else if (msg==CRCInput::RC_yellow)
|
else if (msg==CRCInput::RC_yellow)
|
||||||
{
|
{
|
||||||
@@ -927,9 +934,10 @@ int CTimerList::show()
|
|||||||
if (timer->eventType == CTimerd::TIMER_RECORD || timer->eventType == CTimerd::TIMER_REMOTEBOX || timer->eventType == CTimerd::TIMER_ZAPTO)
|
if (timer->eventType == CTimerd::TIMER_RECORD || timer->eventType == CTimerd::TIMER_REMOTEBOX || timer->eventType == CTimerd::TIMER_ZAPTO)
|
||||||
{
|
{
|
||||||
hide();
|
hide();
|
||||||
if (timer->epgID != 0)
|
if (timer->epgID != 0){
|
||||||
res = g_EpgData->show(timer->channel_id, timer->epgID, &timer->epg_starttime);
|
res = g_EpgData->show(timer->channel_id, timer->epgID, &timer->epg_starttime);
|
||||||
else
|
update=true;
|
||||||
|
}else
|
||||||
ShowHint(LOCALE_MESSAGEBOX_INFO, LOCALE_EPGVIEWER_NOTFOUND);
|
ShowHint(LOCALE_MESSAGEBOX_INFO, LOCALE_EPGVIEWER_NOTFOUND);
|
||||||
if (res==menu_return::RETURN_EXIT_ALL)
|
if (res==menu_return::RETURN_EXIT_ALL)
|
||||||
loop=false;
|
loop=false;
|
||||||
@@ -967,8 +975,9 @@ void CTimerList::hide()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CTimerList::enterRemoteBox()
|
bool CTimerList::enterRemoteBox()
|
||||||
{
|
{
|
||||||
|
bool ret = false;
|
||||||
remboxmenu = new CMenuWidget(LOCALE_REMOTEBOX_HEAD, NEUTRINO_ICON_TIMER);
|
remboxmenu = new CMenuWidget(LOCALE_REMOTEBOX_HEAD, NEUTRINO_ICON_TIMER);
|
||||||
remboxmenu->addKey(CRCInput::RC_red, this, "del_ip");
|
remboxmenu->addKey(CRCInput::RC_red, this, "del_ip");
|
||||||
remboxmenu->addKey(CRCInput::RC_green, this, "add_ip");
|
remboxmenu->addKey(CRCInput::RC_green, this, "add_ip");
|
||||||
@@ -982,8 +991,8 @@ void CTimerList::enterRemoteBox()
|
|||||||
|
|
||||||
remboxmenu->setFooter(RemoteBoxFooterButtons, RemoteBoxFooterButtonCount);
|
remboxmenu->setFooter(RemoteBoxFooterButtons, RemoteBoxFooterButtonCount);
|
||||||
|
|
||||||
|
remboxmenu->enableSaveScreen(true);
|
||||||
remboxmenu->exec(NULL, "");
|
remboxmenu->exec(NULL, "");
|
||||||
remboxmenu->hide();
|
|
||||||
if (changed) {
|
if (changed) {
|
||||||
g_settings.timer_remotebox_ip.clear();
|
g_settings.timer_remotebox_ip.clear();
|
||||||
for (int i = item_offset; i < remboxmenu->getItemsCount(); i++) {
|
for (int i = item_offset; i < remboxmenu->getItemsCount(); i++) {
|
||||||
@@ -992,8 +1001,10 @@ void CTimerList::enterRemoteBox()
|
|||||||
g_settings.timer_remotebox_ip.push_back(f->getName());
|
g_settings.timer_remotebox_ip.push_back(f->getName());
|
||||||
}
|
}
|
||||||
changed = false;
|
changed = false;
|
||||||
|
ret = true;
|
||||||
}
|
}
|
||||||
delete remboxmenu;
|
delete remboxmenu;
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CTimerList::paintItem(int pos)
|
void CTimerList::paintItem(int pos)
|
||||||
@@ -1140,7 +1151,7 @@ void CTimerList::paintItem(int pos)
|
|||||||
r_url += std::string(timer.remotebox_ip);
|
r_url += std::string(timer.remotebox_ip);
|
||||||
r_url += "/control/getchannel?format=json&id=";
|
r_url += "/control/getchannel?format=json&id=";
|
||||||
r_url += string_printf_helper(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, timer.channel_id);
|
r_url += string_printf_helper(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, timer.channel_id);
|
||||||
r_url = httpTool.downloadString(r_url);
|
r_url = httpTool.downloadString(r_url, -1, httpConnectTimeout);
|
||||||
|
|
||||||
Json::Value root;
|
Json::Value root;
|
||||||
Json::Reader reader;
|
Json::Reader reader;
|
||||||
|
@@ -59,6 +59,7 @@ class CTimerList : public CMenuTarget, public CListHelpers
|
|||||||
int liststart;
|
int liststart;
|
||||||
unsigned int listmaxshow;
|
unsigned int listmaxshow;
|
||||||
bool visible;
|
bool visible;
|
||||||
|
int httpConnectTimeout;
|
||||||
|
|
||||||
CTimerdClient *Timer;
|
CTimerdClient *Timer;
|
||||||
CTimerd::TimerList timerlist; // List of timers
|
CTimerd::TimerList timerlist; // List of timers
|
||||||
@@ -86,7 +87,7 @@ class CTimerList : public CMenuTarget, public CListHelpers
|
|||||||
/* todo: properly import the enum CVFD::MODES */
|
/* todo: properly import the enum CVFD::MODES */
|
||||||
int saved_dispmode;
|
int saved_dispmode;
|
||||||
void remoteTimerList(CTimerd::TimerList &timerlist);
|
void remoteTimerList(CTimerd::TimerList &timerlist);
|
||||||
void enterRemoteBox();
|
bool enterRemoteBox();
|
||||||
void select_remotebox_ip();
|
void select_remotebox_ip();
|
||||||
bool remoteChanExists(t_channel_id channel_id);
|
bool remoteChanExists(t_channel_id channel_id);
|
||||||
bool localChanExists(t_channel_id channel_id);
|
bool localChanExists(t_channel_id channel_id);
|
||||||
|
@@ -1389,7 +1389,7 @@ void CMenuWidget::saveScreen()
|
|||||||
|
|
||||||
delete[] background;
|
delete[] background;
|
||||||
|
|
||||||
background = new fb_pixel_t [full_width * full_height];
|
background = new fb_pixel_t [full_width * (full_height+fbutton_height)];
|
||||||
if(background)
|
if(background)
|
||||||
frameBuffer->SaveScreen(x /*-ConnectLineBox_Width*/, y, full_width, full_height + fbutton_height, background);
|
frameBuffer->SaveScreen(x /*-ConnectLineBox_Width*/, y, full_width, full_height + fbutton_height, background);
|
||||||
}
|
}
|
||||||
|
@@ -92,6 +92,9 @@ void CExtendedInput::Init(void)
|
|||||||
|
|
||||||
x = getScreenStartX(width);
|
x = getScreenStartX(width);
|
||||||
y = getScreenStartY(height);
|
y = getScreenStartY(height);
|
||||||
|
|
||||||
|
savescreen = false;
|
||||||
|
background = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
CExtendedInput::~CExtendedInput()
|
CExtendedInput::~CExtendedInput()
|
||||||
@@ -136,6 +139,34 @@ void CExtendedInput::calculateDialog()
|
|||||||
y = getScreenStartY(height);
|
y = getScreenStartY(height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CExtendedInput::saveScreen()
|
||||||
|
{
|
||||||
|
if(!savescreen)
|
||||||
|
return;
|
||||||
|
|
||||||
|
delete[] background;
|
||||||
|
|
||||||
|
background = new fb_pixel_t [width * height];
|
||||||
|
if(background)
|
||||||
|
frameBuffer->SaveScreen(x, y, width, height, background);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CExtendedInput::restoreScreen()
|
||||||
|
{
|
||||||
|
if(background) {
|
||||||
|
if(savescreen)
|
||||||
|
frameBuffer->RestoreScreen(x, y, width, height, background);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CExtendedInput::enableSaveScreen(bool enable)
|
||||||
|
{
|
||||||
|
savescreen = enable;
|
||||||
|
if (!enable && background) {
|
||||||
|
delete[] background;
|
||||||
|
background = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int CExtendedInput::exec( CMenuTarget* parent, const std::string & )
|
int CExtendedInput::exec( CMenuTarget* parent, const std::string & )
|
||||||
{
|
{
|
||||||
@@ -151,6 +182,8 @@ int CExtendedInput::exec( CMenuTarget* parent, const std::string & )
|
|||||||
|
|
||||||
std::string oldval = *valueString;
|
std::string oldval = *valueString;
|
||||||
std::string dispval = *valueString;
|
std::string dispval = *valueString;
|
||||||
|
if (savescreen)
|
||||||
|
saveScreen();
|
||||||
paint();
|
paint();
|
||||||
frameBuffer->blit();
|
frameBuffer->blit();
|
||||||
|
|
||||||
@@ -285,7 +318,10 @@ int CExtendedInput::exec( CMenuTarget* parent, const std::string & )
|
|||||||
|
|
||||||
void CExtendedInput::hide()
|
void CExtendedInput::hide()
|
||||||
{
|
{
|
||||||
frameBuffer->paintBackgroundBoxRel(x, y, width, height);
|
if (savescreen && background)
|
||||||
|
restoreScreen();
|
||||||
|
else
|
||||||
|
frameBuffer->paintBackgroundBoxRel(x, y, width, height);
|
||||||
frameBuffer->blit();
|
frameBuffer->blit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -70,6 +70,11 @@ class CExtendedInput : public CMenuTarget
|
|||||||
CChangeObserver* observ;
|
CChangeObserver* observ;
|
||||||
bool* cancel;
|
bool* cancel;
|
||||||
|
|
||||||
|
fb_pixel_t *background;
|
||||||
|
bool savescreen;
|
||||||
|
void saveScreen();
|
||||||
|
void restoreScreen();
|
||||||
|
|
||||||
virtual void paint();
|
virtual void paint();
|
||||||
virtual void onBeforeExec(){};
|
virtual void onBeforeExec(){};
|
||||||
virtual void onAfterExec(){};
|
virtual void onAfterExec(){};
|
||||||
@@ -85,6 +90,8 @@ class CExtendedInput : public CMenuTarget
|
|||||||
void calculateDialog();
|
void calculateDialog();
|
||||||
|
|
||||||
void addInputField( CExtendedInput_Item* );
|
void addInputField( CExtendedInput_Item* );
|
||||||
|
|
||||||
|
void enableSaveScreen(bool enable);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -66,7 +66,7 @@ int CHTTPTool::show_progress( void *clientp, double dltotal, double dlnow, doubl
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
//#define DEBUG
|
//#define DEBUG
|
||||||
bool CHTTPTool::downloadFile(const std::string & URL, const char * const downloadTarget, int globalProgressEnd)
|
bool CHTTPTool::downloadFile(const std::string & URL, const char * const downloadTarget, int globalProgressEnd, int connecttimeout/*=10*/, int timeout/*=1800*/)
|
||||||
{
|
{
|
||||||
CURL *curl;
|
CURL *curl;
|
||||||
CURLcode res;
|
CURLcode res;
|
||||||
@@ -97,8 +97,8 @@ printf("url is %s\n", URL.c_str());
|
|||||||
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0);
|
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0);
|
||||||
curl_easy_setopt(curl, CURLOPT_USERAGENT, userAgent.c_str());
|
curl_easy_setopt(curl, CURLOPT_USERAGENT, userAgent.c_str());
|
||||||
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, (long)1);
|
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, (long)1);
|
||||||
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 1800);
|
curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout);
|
||||||
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10);
|
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, connecttimeout);
|
||||||
curl_easy_setopt(curl, CURLOPT_FAILONERROR, true);
|
curl_easy_setopt(curl, CURLOPT_FAILONERROR, true);
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
|
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
|
||||||
@@ -136,7 +136,7 @@ printf("download code %d\n", res);
|
|||||||
return res==CURLE_OK;
|
return res==CURLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CHTTPTool::downloadString(const std::string & URL, int globalProgressEnd)
|
std::string CHTTPTool::downloadString(const std::string & URL, int globalProgressEnd, int connecttimeout/*=10*/, int timeout/*=1800*/)
|
||||||
{
|
{
|
||||||
CURL *curl;
|
CURL *curl;
|
||||||
CURLcode res;
|
CURLcode res;
|
||||||
@@ -161,8 +161,8 @@ printf("url is %s\n", URL.c_str());
|
|||||||
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0);
|
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0);
|
||||||
curl_easy_setopt(curl, CURLOPT_USERAGENT, userAgent.c_str());
|
curl_easy_setopt(curl, CURLOPT_USERAGENT, userAgent.c_str());
|
||||||
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, (long)1);
|
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, (long)1);
|
||||||
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 1800);
|
curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout);
|
||||||
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10);
|
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, connecttimeout);
|
||||||
curl_easy_setopt(curl, CURLOPT_FAILONERROR, true);
|
curl_easy_setopt(curl, CURLOPT_FAILONERROR, true);
|
||||||
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);
|
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
@@ -52,8 +52,8 @@ class CHTTPTool
|
|||||||
CHTTPTool();
|
CHTTPTool();
|
||||||
void setStatusViewer( CProgressWindow* statusview );
|
void setStatusViewer( CProgressWindow* statusview );
|
||||||
|
|
||||||
bool downloadFile( const std::string & URL, const char * const downloadTarget, int globalProgressEnd=-1 );
|
bool downloadFile( const std::string & URL, const char * const downloadTarget, int globalProgressEnd=-1, int connecttimeout=10, int timeout=1800);
|
||||||
std::string downloadString(const std::string & URL, int globalProgressEnd=-1 );
|
std::string downloadString(const std::string & URL, int globalProgressEnd=-1, int connecttimeout=10, int timeout=1800);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user