Mention mount errors on the status labels.

svn-id: r44202
This commit is contained in:
Andre Heider 2009-09-20 11:47:11 +00:00
parent 44ce4edeaa
commit cd1628f70d
3 changed files with 42 additions and 10 deletions

View file

@ -40,7 +40,9 @@ DECLARE_SINGLETON(WiiFilesystemFactory);
WiiFilesystemFactory::WiiFilesystemFactory() :
_dvdMounted(false),
_smbMounted(false) {
_smbMounted(false),
_dvdError(false),
_smbError(false) {
}
AbstractFSNode *WiiFilesystemFactory::makeRootFileNode() const {
@ -104,6 +106,17 @@ bool WiiFilesystemFactory::isMounted(FileSystemType type) {
return false;
}
bool WiiFilesystemFactory::failedToMount(FileSystemType type) {
switch (type) {
case kDVD:
return _dvdError;
case kSMB:
return _smbError;
}
return false;
}
void WiiFilesystemFactory::mount(FileSystemType type) {
switch (type) {
case kDVD:
@ -126,9 +139,11 @@ void WiiFilesystemFactory::mount(FileSystemType type) {
printf("mount ISO9660\n");
if (ISO9660_Mount()) {
_dvdMounted = true;
_dvdError = false;
printf("ISO9660 mounted\n");
} else {
DI_StopMotor();
_dvdError = true;
printf("ISO9660 mount failed\n");
}
#endif
@ -149,8 +164,10 @@ void WiiFilesystemFactory::mount(FileSystemType type) {
if (smbInit(_smbUsername.c_str(), _smbPassword.c_str(),
_smbShare.c_str(), _smbServer.c_str())) {
_smbMounted = true;
_smbError = false;
printf("smb mounted\n");
} else {
_smbError = true;
printf("error mounting smb\n");
}
#endif
@ -171,6 +188,7 @@ void WiiFilesystemFactory::umount(FileSystemType type) {
DI_StopMotor();
_dvdMounted = false;
_dvdError = false;
#endif
break;
@ -187,6 +205,7 @@ void WiiFilesystemFactory::umount(FileSystemType type) {
printf("error umounting smb\n");
_smbMounted = false;
_smbError = false;
#endif
break;
}

View file

@ -57,6 +57,7 @@ public:
#endif
bool isMounted(FileSystemType type);
bool failedToMount(FileSystemType type);
void mount(FileSystemType type);
void umount(FileSystemType type);
@ -72,6 +73,8 @@ private:
bool _dvdMounted;
bool _smbMounted;
bool _dvdError;
bool _smbError;
#ifdef USE_WII_SMB
String _smbServer;

View file

@ -72,7 +72,7 @@ WiiOptionsDialog::WiiOptionsDialog(bool doubleStrike) :
new StaticTextWidget(_tab, 16, 16, 64, 16,
"Status:", Graphics::kTextAlignRight);
_textDVDStatus = new StaticTextWidget(_tab, 96, 16, 192, 16, "Unknown",
_textDVDStatus = new StaticTextWidget(_tab, 96, 16, 272, 16, "Unknown",
Graphics::kTextAlignLeft);
new ButtonWidget(_tab, 16, 48, 108, 24, "Mount DVD", 'mdvd');
@ -84,7 +84,7 @@ WiiOptionsDialog::WiiOptionsDialog(bool doubleStrike) :
new StaticTextWidget(_tab, 16, 16, 64, 16,
"Status:", Graphics::kTextAlignRight);
_textSMBStatus = new StaticTextWidget(_tab, 96, 16, 192, 16, "Unknown",
_textSMBStatus = new StaticTextWidget(_tab, 96, 16, 272, 16, "Unknown",
Graphics::kTextAlignLeft);
new StaticTextWidget(_tab, 16, 52, 64, 16,
@ -124,10 +124,14 @@ void WiiOptionsDialog::handleTickle() {
#ifdef USE_WII_DI
if (tab == _tabDVD) {
if (fsf.isMounted(WiiFilesystemFactory::kDVD))
_textDVDStatus->setLabel("Mounted");
else
_textDVDStatus->setLabel("Not mounted");
if (fsf.isMounted(WiiFilesystemFactory::kDVD)) {
_textDVDStatus->setLabel("DVD Mounted successfully");
} else {
if (fsf.failedToMount(kDVD))
_textDVDStatus->setLabel("Error while mounting the DVD");
else
_textDVDStatus->setLabel("DVD not mounted");
}
}
#endif
@ -138,10 +142,16 @@ void WiiOptionsDialog::handleTickle() {
switch (status) {
case 0:
if (fsf.isMounted(WiiFilesystemFactory::kSMB))
if (fsf.isMounted(WiiFilesystemFactory::kSMB)) {
label = "Network up, share mounted";
else
label = "Network up, share not mounted";
} else {
label = "Network up";
if (fsf.failedToMount(WiiFilesystemFactory::kSMB))
label += ", error while mounting the share";
else
label += ", share not mounted";
}
break;