enable ftp in the ftp menu if it isn't already enabled.
This commit is contained in:
@@ -45,7 +45,7 @@ struct Menu final : MenuBase {
|
|||||||
|
|
||||||
// this should be private
|
// this should be private
|
||||||
// private:
|
// private:
|
||||||
std::shared_ptr<StreamFtp> m_source;
|
std::shared_ptr<StreamFtp> m_source{};
|
||||||
Thread m_thread{};
|
Thread m_thread{};
|
||||||
Mutex m_mutex{};
|
Mutex m_mutex{};
|
||||||
// the below are shared across threads, lock with the above mutex!
|
// the below are shared across threads, lock with the above mutex!
|
||||||
@@ -55,6 +55,7 @@ struct Menu final : MenuBase {
|
|||||||
const char* m_pass{};
|
const char* m_pass{};
|
||||||
unsigned m_port{};
|
unsigned m_port{};
|
||||||
bool m_anon{};
|
bool m_anon{};
|
||||||
|
bool m_was_ftp_enabled{};
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace sphaira::ui::menu::ftp
|
} // namespace sphaira::ui::menu::ftp
|
||||||
|
|||||||
@@ -152,6 +152,12 @@ Menu::Menu() : MenuBase{"FTP Install (EXPERIMENTAL)"_i18n} {
|
|||||||
}});
|
}});
|
||||||
|
|
||||||
mutexInit(&m_mutex);
|
mutexInit(&m_mutex);
|
||||||
|
m_was_ftp_enabled = App::GetFtpEnable();
|
||||||
|
if (!m_was_ftp_enabled) {
|
||||||
|
log_write("[FTP] wasn't enabled, forcefully enabling\n");
|
||||||
|
App::SetFtpEnable(true);
|
||||||
|
}
|
||||||
|
|
||||||
ftpsrv::InitInstallMode(this, OnInstallStart, OnInstallWrite, OnInstallClose);
|
ftpsrv::InitInstallMode(this, OnInstallStart, OnInstallWrite, OnInstallClose);
|
||||||
|
|
||||||
m_port = ftpsrv::GetPort();
|
m_port = ftpsrv::GetPort();
|
||||||
@@ -171,6 +177,11 @@ Menu::~Menu() {
|
|||||||
m_source->Disable();
|
m_source->Disable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!m_was_ftp_enabled) {
|
||||||
|
log_write("[FTP] disabling on exit\n");
|
||||||
|
App::SetFtpEnable(false);
|
||||||
|
}
|
||||||
|
|
||||||
log_write("closing data!!!!\n");
|
log_write("closing data!!!!\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user