mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-08-08 06:12:43 -04:00
fixed changing ports and restarting
This commit is contained in:
parent
3446f0b677
commit
9dc78d66c1
3 changed files with 23 additions and 9 deletions
|
@ -130,11 +130,21 @@ public:
|
||||||
settings->set_port( _listening_port );
|
settings->set_port( _listening_port );
|
||||||
settings->set_default_header( "Connection", "close" );
|
settings->set_default_header( "Connection", "close" );
|
||||||
|
|
||||||
|
if(_service->is_up())
|
||||||
|
{
|
||||||
|
std::cerr << "WebUI is already running. Killing it." << std::endl;
|
||||||
|
_service->stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
_service = std::make_shared<restbed::Service>();
|
||||||
|
|
||||||
_service->publish( resource1 );
|
_service->publish( resource1 );
|
||||||
_service->publish( resource2 );
|
_service->publish( resource2 );
|
||||||
_service->publish( resource3 );
|
_service->publish( resource3 );
|
||||||
|
|
||||||
_service->set_ready_handler( service_ready_handler );
|
std::cerr << "Starting web service on port " << std::dec << _listening_port << std::endl;
|
||||||
|
//_service->set_ready_handler( service_ready_handler );
|
||||||
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -145,6 +155,8 @@ public:
|
||||||
RsErr() << "Could not start web interface: " << e.what() << std::endl;
|
RsErr() << "Could not start web interface: " << e.what() << std::endl;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::cerr << "(II) Shutting down webui service." << std::endl;
|
||||||
}
|
}
|
||||||
void stop()
|
void stop()
|
||||||
{
|
{
|
||||||
|
|
|
@ -86,16 +86,17 @@ bool WebuiPage::updateParams(QString &errmsg)
|
||||||
Settings->setWebinterfacePort(ui.port_SB->value());
|
Settings->setWebinterfacePort(ui.port_SB->value());
|
||||||
Settings->setWebinterfaceAllowAllIps(ui.allIp_CB->isChecked());
|
Settings->setWebinterfaceAllowAllIps(ui.allIp_CB->isChecked());
|
||||||
Settings->setWebinterfaceFilesDirectory(ui.webInterfaceFiles_LE->text());
|
Settings->setWebinterfaceFilesDirectory(ui.webInterfaceFiles_LE->text());
|
||||||
|
|
||||||
// apply config
|
|
||||||
checkShutdownWebui();
|
|
||||||
ok = checkStartWebui();
|
|
||||||
}
|
}
|
||||||
if(!ok)
|
|
||||||
errmsg = "Could not start webinterface.";
|
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool WebuiPage::restart()
|
||||||
|
{
|
||||||
|
// apply config
|
||||||
|
checkShutdownWebui();
|
||||||
|
|
||||||
|
return checkStartWebui();
|
||||||
|
}
|
||||||
void WebuiPage::load()
|
void WebuiPage::load()
|
||||||
{
|
{
|
||||||
std::cerr << "WebuiPage::load()" << std::endl;
|
std::cerr << "WebuiPage::load()" << std::endl;
|
||||||
|
@ -166,8 +167,8 @@ void WebuiPage::onAllIPCBClicked(bool /*checked*/)
|
||||||
void WebuiPage::onApplyClicked()
|
void WebuiPage::onApplyClicked()
|
||||||
{
|
{
|
||||||
QString errmsg;
|
QString errmsg;
|
||||||
bool ok = updateParams(errmsg);
|
|
||||||
if(!ok)
|
if(!restart())
|
||||||
{
|
{
|
||||||
QMessageBox::warning(0, tr("failed to start Webinterface"), "Failed to start the webinterface.");
|
QMessageBox::warning(0, tr("failed to start Webinterface"), "Failed to start the webinterface.");
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -68,6 +68,7 @@ private:
|
||||||
/** Qt Designer generated object */
|
/** Qt Designer generated object */
|
||||||
Ui::WebuiPage ui;
|
Ui::WebuiPage ui;
|
||||||
|
|
||||||
|
bool restart();
|
||||||
bool updateParams(QString &errmsg);
|
bool updateParams(QString &errmsg);
|
||||||
|
|
||||||
static resource_api::ApiServer* apiServer;
|
static resource_api::ApiServer* apiServer;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue