Thread: [Commits] : Tuxbox-GIT: apps branch master updated. CVS-Final-568-gc931c9e
Tuxbox Sources
Brought to you by:
dbt1
|
From: GetAway <tux...@ne...> - 2015-05-25 17:49:51
|
Project "Tuxbox-GIT: apps":
The branch, master has been updated
via c931c9eb31c78842af8b13cfb615daed6635aaf7 (commit)
from 0f0e7bf3f426d9beb188d921db1afa4b581fa4b9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c931c9eb31c78842af8b13cfb615daed6635aaf7
Author: m4...@gm... <m4...@gm...>
Date: Mon May 25 19:48:46 2015 +0200
convert most char[...] configuration values to std::string
based on martii's code with some changes for dbox
use struct for network_nfs stuff
remove deprecated support for smbfs mount
fix MAC editing if saved char is 'A-F'
and first keypress is keydown
Signed-off-by: GetAway <get...@t-...>
diff --git a/tuxbox/neutrino/src/gui/moviebrowser.cpp b/tuxbox/neutrino/src/gui/moviebrowser.cpp
index 1d40283..5132b3f 100644
--- a/tuxbox/neutrino/src/gui/moviebrowser.cpp
+++ b/tuxbox/neutrino/src/gui/moviebrowser.cpp
@@ -962,8 +962,8 @@ int CMovieBrowser::exec(const char* path, const int playstate)
//umount automount dirs
for(int i = 0; i < NETWORK_NFS_NR_OF_ENTRIES; i++)
{
- if(g_settings.network_nfs_automount[i])
- umount2(g_settings.network_nfs_local_dir[i],MNT_FORCE);
+ if(g_settings.network_nfs[i].automount)
+ umount2(g_settings.network_nfs[i].local_dir.c_str(), MNT_FORCE);
}
#ifdef ENABLE_GUI_MOUNT
CFSMounter::automount();
@@ -3771,9 +3771,9 @@ CDirMenu::CDirMenu(std::vector<MB_DIR>* dir_list)
{
for(int nfs = 0; nfs < NETWORK_NFS_NR_OF_ENTRIES; nfs++)
{
- if(g_settings.network_nfs_local_dir[nfs][0] != 0)
+ if(!g_settings.network_nfs[nfs].local_dir.empty())
{
- std::string tmp = g_settings.network_nfs_local_dir[nfs];
+ std::string tmp = g_settings.network_nfs[nfs].local_dir;
int result = (*dirList)[i].name.compare( 0,tmp.size(),tmp) ;
//printf("[CDirMenu] (nfs%d) %s == (mb%d) %s (%d)\n",nfs,g_settings.network_nfs_local_dir[nfs],i,(*dirList)[i].name.c_str(),result);
@@ -3809,27 +3809,25 @@ int CDirMenu::exec(CMenuTarget* parent, const std::string & actionKey)
{
if(dirState[number] == DIR_STATE_SERVER_DOWN)
{
- std::string command = "ether-wake ";
- command += g_settings.network_nfs_mac[dirNfsMountNr[number]];
- printf("try to start server: %s\n",command.c_str());
- if(system(command.c_str()) != 0)
+ printf("try to start server: %s %s\n","ether-wake", g_settings.network_nfs[dirNfsMountNr[number]].mac.c_str());
+ if (my_system(2, "ether-wake", g_settings.network_nfs[dirNfsMountNr[number]].mac.c_str()) != 0)
perror("ether-wake failed");
- dirOptionText[number]="STARTE SERVER";
+ dirOptionText[number] = "STARTE SERVER";
}
#ifdef ENABLE_GUI_MOUNT
else if(dirState[number] == DIR_STATE_NOT_MOUNTED)
{
printf("[CDirMenu] try to mount %d,%d\n",number,dirNfsMountNr[number]);
CFSMounter::MountRes res;
- res = CFSMounter::mount( g_settings.network_nfs_ip[dirNfsMountNr[number]].c_str(),
- g_settings.network_nfs_dir[dirNfsMountNr[number]] ,
- g_settings.network_nfs_local_dir[dirNfsMountNr[number]] ,
- (CFSMounter::FSType)g_settings.network_nfs_type[dirNfsMountNr[number]] ,
- g_settings.network_nfs_username[dirNfsMountNr[number]] ,
- g_settings.network_nfs_password[dirNfsMountNr[number]] ,
- g_settings.network_nfs_mount_options1[dirNfsMountNr[number]] ,
- g_settings.network_nfs_mount_options2[dirNfsMountNr[number]] );
+ res = CFSMounter::mount (g_settings.network_nfs[dirNfsMountNr[number]].ip,
+ g_settings.network_nfs[dirNfsMountNr[number]].dir,
+ g_settings.network_nfs[dirNfsMountNr[number]].local_dir,
+ (CFSMounter::FSType)g_settings.network_nfs[dirNfsMountNr[number]].type,
+ g_settings.network_nfs[dirNfsMountNr[number]].username,
+ g_settings.network_nfs[dirNfsMountNr[number]].password,
+ g_settings.network_nfs[dirNfsMountNr[number]].mount_options1,
+ g_settings.network_nfs[dirNfsMountNr[number]].mount_options2 );
if(res == CFSMounter::MRES_OK) // if mount is successful we set the state to active in any case
{
*(*dirList)[number].used = true;
@@ -3872,7 +3870,7 @@ void CDirMenu::updateDirState(void)
// 1st ping server
if(dirNfsMountNr[i] != -1)
{
- int retvalue = pingthost(g_settings.network_nfs_ip[dirNfsMountNr[i]].c_str(), 500); // get ping for 60ms - increased
+ int retvalue = pingthost(g_settings.network_nfs[dirNfsMountNr[i]].ip.c_str(), 500); // get ping for 60ms - increased
if (retvalue == 0)//LOCALE_PING_UNREACHABLE
{
dirOptionText[i] = g_Locale->getText(LOCALE_RECDIRCHOOSER_SERVER_DOWN);
@@ -3881,7 +3879,7 @@ void CDirMenu::updateDirState(void)
#ifdef ENABLE_GUI_MOUNT
else if (retvalue == 1)//LOCALE_PING_OK
{
- if(CFSMounter::isMounted (g_settings.network_nfs_local_dir[dirNfsMountNr[i]]) == 0)
+ if(CFSMounter::isMounted (g_settings.network_nfs[dirNfsMountNr[i]].local_dir))
{
dirOptionText[i] = g_Locale->getText(LOCALE_RECDIRCHOOSER_NOT_MOUNTED);
dirState[i] = DIR_STATE_NOT_MOUNTED;
diff --git a/tuxbox/neutrino/src/gui/nfs.cpp b/tuxbox/neutrino/src/gui/nfs.cpp
index 0f0cb61..be0c9c3 100644
--- a/tuxbox/neutrino/src/gui/nfs.cpp
+++ b/tuxbox/neutrino/src/gui/nfs.cpp
@@ -61,19 +61,26 @@ CNFSMountGui::CNFSMountGui()
m_nfs_sup = CFSMounter::FS_UNPROBED;
m_cifs_sup = CFSMounter::FS_UNPROBED;
m_lufs_sup = CFSMounter::FS_UNPROBED;
- m_smbfs_sup = CFSMounter::FS_UNPROBED;
-
}
-
-const char * nfs_entry_printf_string[4] =
+std::string CNFSMountGui::getEntryString(int i)
{
- "NFS %s:%s -> %s auto: %4s",
- "CIFS //%s/%s -> %s auto: %4s",
- "FTPFS %s/%s -> %s auto: %4s",
- "SMBFS //%s%s -> %s auto: %4s"
-};
-
+ std::string res;
+ switch(g_settings.network_nfs[i].type) {
+ case CFSMounter::NFS: res = "NFS " + g_settings.network_nfs[i].ip + ":"; break;
+ case CFSMounter::CIFS: res = "CIFS //" + g_settings.network_nfs[i].ip + "/"; break;
+ case CFSMounter::LUFS: res = "FTPS " + g_settings.network_nfs[i].ip + "/"; break;
+ }
+ if (g_settings.network_nfs[i].dir.empty() || g_settings.network_nfs[i].local_dir.empty() || g_settings.network_nfs[i].ip.empty())
+ return "";
+ return res
+ + FILESYSTEM_ENCODING_TO_UTF8(g_settings.network_nfs[i].dir.c_str())
+ + " -> "
+ + FILESYSTEM_ENCODING_TO_UTF8(g_settings.network_nfs[i].local_dir.c_str())
+ + " (auto: "
+ + g_Locale->getText(g_settings.network_nfs[i].automount ? LOCALE_MESSAGEBOX_YES : LOCALE_MESSAGEBOX_NO)
+ + ")";
+}
int CNFSMountGui::exec( CMenuTarget* parent, const std::string & actionKey )
{
@@ -89,22 +96,14 @@ int CNFSMountGui::exec( CMenuTarget* parent, const std::string & actionKey )
if (m_lufs_sup == CFSMounter::FS_UNPROBED)
m_lufs_sup = CFSMounter::fsSupported(CFSMounter::LUFS);
- if (m_smbfs_sup == CFSMounter::FS_UNPROBED)
- m_smbfs_sup = CFSMounter::fsSupported(CFSMounter::SMBFS);
-
- printf("SUPPORT: NFS: %d, CIFS: %d, LUFS: %d, SMBFS: %d\n", m_nfs_sup, m_cifs_sup, m_lufs_sup, m_smbfs_sup);
+ printf("SUPPORT: NFS: %d, CIFS: %d, LUFS: %d\n", m_nfs_sup, m_cifs_sup, m_lufs_sup);
if (actionKey.empty())
{
parent->hide();
for(int i=0 ; i < NETWORK_NFS_NR_OF_ENTRIES; i++)
{
- sprintf(m_entry[i],
- nfs_entry_printf_string[(g_settings.network_nfs_type[i] == (int) CFSMounter::NFS) ? 0 : ((g_settings.network_nfs_type[i] == (int) CFSMounter::CIFS) ? 1 : ((g_settings.network_nfs_type[i] == (int) CFSMounter::SMBFS) ? 3 : 2))],
- g_settings.network_nfs_ip[i].c_str(),
- FILESYSTEM_ENCODING_TO_UTF8(g_settings.network_nfs_dir[i]),
- FILESYSTEM_ENCODING_TO_UTF8(g_settings.network_nfs_local_dir[i]),
- g_Locale->getText(g_settings.network_nfs_automount[i] ? LOCALE_MESSAGEBOX_YES : LOCALE_MESSAGEBOX_NO));
+ m_entry[i] = getEntryString(i);
}
returnval = menu();
}
@@ -114,23 +113,18 @@ int CNFSMountGui::exec( CMenuTarget* parent, const std::string & actionKey )
returnval = menuEntry(actionKey[10]-'0');
for(int i=0 ; i < NETWORK_NFS_NR_OF_ENTRIES; i++)
{
- sprintf(m_entry[i],
- nfs_entry_printf_string[(g_settings.network_nfs_type[i] == (int) CFSMounter::NFS) ? 0 : ((g_settings.network_nfs_type[i] == (int) CFSMounter::CIFS) ? 1 : ((g_settings.network_nfs_type[i] == (int) CFSMounter::SMBFS) ? 3 : 2))],
- g_settings.network_nfs_ip[i].c_str(),
- FILESYSTEM_ENCODING_TO_UTF8(g_settings.network_nfs_dir[i]),
- FILESYSTEM_ENCODING_TO_UTF8(g_settings.network_nfs_local_dir[i]),
- g_Locale->getText(g_settings.network_nfs_automount[i] ? LOCALE_MESSAGEBOX_YES : LOCALE_MESSAGEBOX_NO));
- sprintf(ISO_8859_1_entry[i],ZapitTools::UTF8_to_Latin1(m_entry[i]).c_str());
+ m_entry[i] = getEntryString(i);
+ ISO_8859_1_entry[i] = ZapitTools::UTF8_to_Latin1(m_entry[i].c_str());
}
}
else if(actionKey.substr(0,7)=="domount")
{
int nr=atoi(actionKey.substr(7,1).c_str());
CFSMounter::MountRes mres = CFSMounter::mount(
- g_settings.network_nfs_ip[nr].c_str(), g_settings.network_nfs_dir[nr],
- g_settings.network_nfs_local_dir[nr], (CFSMounter::FSType) g_settings.network_nfs_type[nr],
- g_settings.network_nfs_username[nr], g_settings.network_nfs_password[nr],
- g_settings.network_nfs_mount_options1[nr], g_settings.network_nfs_mount_options2[nr]);
+ g_settings.network_nfs[nr].ip, g_settings.network_nfs[nr].dir,
+ g_settings.network_nfs[nr].local_dir, (CFSMounter::FSType) g_settings.network_nfs[nr].type,
+ g_settings.network_nfs[nr].username, g_settings.network_nfs[nr].password,
+ g_settings.network_nfs[nr].mount_options1, g_settings.network_nfs[nr].mount_options2);
if (mres == CFSMounter::MRES_OK || mres == CFSMounter::MRES_FS_ALREADY_MOUNTED)
mountMenuEntry[nr]->iconName = NEUTRINO_ICON_MOUNTED;
else
@@ -145,8 +139,8 @@ int CNFSMountGui::exec( CMenuTarget* parent, const std::string & actionKey )
CFileBrowser b;
b.Dir_Mode=true;
- if (b.exec(g_settings.network_nfs_local_dir[nr]))
- strcpy(g_settings.network_nfs_local_dir[nr], b.getSelectedFile()->Name.c_str());
+ if (b.exec(g_settings.network_nfs[nr].local_dir.c_str()))
+ g_settings.network_nfs[nr].local_dir = b.getSelectedFile()->Name;
returnval = menu_return::RETURN_REPAINT;
}
@@ -161,9 +155,9 @@ int CNFSMountGui::menu()
for(int i=0 ; i < NETWORK_NFS_NR_OF_ENTRIES ; i++)
{
std::string s2 = "mountentry" + to_string(i);
- sprintf(ISO_8859_1_entry[i],ZapitTools::UTF8_to_Latin1(m_entry[i]).c_str());
+ ISO_8859_1_entry[i] = ZapitTools::UTF8_to_Latin1(m_entry[i].c_str());
mountMenuEntry[i] = new CMenuForwarder("", true, ISO_8859_1_entry[i], this, s2.c_str());
- if (CFSMounter::isMounted(g_settings.network_nfs_local_dir[i]))
+ if (CFSMounter::isMounted(g_settings.network_nfs[i].local_dir))
mountMenuEntry[i]->iconName = NEUTRINO_ICON_MOUNTED;
else
mountMenuEntry[i]->iconName = NEUTRINO_ICON_NOT_MOUNTED;
@@ -185,78 +179,64 @@ const CMenuOptionChooser::keyval NFS_TYPE_OPTIONS[NFS_TYPE_OPTION_COUNT] =
{
{ CFSMounter::NFS , LOCALE_NFS_TYPE_NFS },
{ CFSMounter::CIFS, LOCALE_NFS_TYPE_CIFS },
- { CFSMounter::LUFS, LOCALE_NFS_TYPE_LUFS },
- { CFSMounter::SMBFS, LOCALE_NFS_TYPE_SMBFS }
+ { CFSMounter::LUFS, LOCALE_NFS_TYPE_LUFS }
};
int CNFSMountGui::menuEntry(int nr)
{
- char *dir,*local_dir, *username, *password, *options1, *options2, *mac;
- int* automount;
- int* type;
- std::string cmd = "domount" + to_string(nr);
- std::string cmd2 = "dir" + to_string(nr);
-
- dir = g_settings.network_nfs_dir[nr];
- local_dir = g_settings.network_nfs_local_dir[nr];
- username = g_settings.network_nfs_username[nr];
- password = g_settings.network_nfs_password[nr];
- automount = &g_settings.network_nfs_automount[nr];
- type = &g_settings.network_nfs_type[nr];
- options1 = g_settings.network_nfs_mount_options1[nr];
- options2 = g_settings.network_nfs_mount_options2[nr];
- mac = g_settings.network_nfs_mac[nr];
-
- /* rewrite fstype in new entries */
- if(strlen(local_dir)==0)
- {
- if(m_cifs_sup != CFSMounter::FS_UNSUPPORTED && m_nfs_sup == CFSMounter::FS_UNSUPPORTED && m_lufs_sup == CFSMounter::FS_UNSUPPORTED && m_smbfs_sup == CFSMounter::FS_UNSUPPORTED)
- *type = (int) CFSMounter::CIFS;
-
- else if(m_lufs_sup != CFSMounter::FS_UNSUPPORTED && m_cifs_sup == CFSMounter::FS_UNSUPPORTED && m_nfs_sup == CFSMounter::FS_UNSUPPORTED && m_smbfs_sup == CFSMounter::FS_UNSUPPORTED)
- *type = (int) CFSMounter::LUFS;
-
- else if(m_smbfs_sup != CFSMounter::FS_UNSUPPORTED && m_cifs_sup == CFSMounter::FS_UNSUPPORTED && m_nfs_sup == CFSMounter::FS_UNSUPPORTED && m_lufs_sup == CFSMounter::FS_UNSUPPORTED)
- *type = (int) CFSMounter::SMBFS;
- }
- bool typeEnabled = (m_cifs_sup != CFSMounter::FS_UNSUPPORTED && m_nfs_sup != CFSMounter::FS_UNSUPPORTED && m_lufs_sup != CFSMounter::FS_UNSUPPORTED && m_smbfs_sup != CFSMounter::FS_UNSUPPORTED) ||
- (m_cifs_sup != CFSMounter::FS_UNSUPPORTED && *type != (int)CFSMounter::CIFS) ||
- (m_nfs_sup != CFSMounter::FS_UNSUPPORTED && *type != (int)CFSMounter::NFS) ||
- (m_lufs_sup != CFSMounter::FS_UNSUPPORTED && *type != (int)CFSMounter::LUFS) ||
- (m_smbfs_sup != CFSMounter::FS_UNSUPPORTED && *type != (int)CFSMounter::SMBFS);
+ /* rewrite fstype in new entries */
+ if(g_settings.network_nfs[nr].local_dir.empty()) {
+ if(m_cifs_sup != CFSMounter::FS_UNSUPPORTED && m_nfs_sup == CFSMounter::FS_UNSUPPORTED && m_lufs_sup == CFSMounter::FS_UNSUPPORTED)
+ g_settings.network_nfs[nr].type = (int) CFSMounter::CIFS;
+ else if(m_lufs_sup != CFSMounter::FS_UNSUPPORTED && m_cifs_sup == CFSMounter::FS_UNSUPPORTED && m_nfs_sup == CFSMounter::FS_UNSUPPORTED)
+ g_settings.network_nfs[nr].type = (int) CFSMounter::LUFS;
+ }
+ bool typeEnabled = (m_cifs_sup != CFSMounter::FS_UNSUPPORTED && m_nfs_sup != CFSMounter::FS_UNSUPPORTED && m_lufs_sup != CFSMounter::FS_UNSUPPORTED) ||
+ (m_cifs_sup != CFSMounter::FS_UNSUPPORTED && g_settings.network_nfs[nr].type != (int)CFSMounter::CIFS) ||
+ (m_nfs_sup != CFSMounter::FS_UNSUPPORTED && g_settings.network_nfs[nr].type != (int)CFSMounter::NFS) ||
+ (m_lufs_sup != CFSMounter::FS_UNSUPPORTED && g_settings.network_nfs[nr].type != (int)CFSMounter::LUFS);
CMenuWidget mountMenuEntryW(LOCALE_NFS_MOUNT, NEUTRINO_ICON_STREAMING,720);
mountMenuEntryW.addIntroItems();
- CIPInput ipInput(LOCALE_NFS_IP, g_settings.network_nfs_ip[nr]);
- CStringInputSMS dirInput(LOCALE_NFS_DIR, dir, 30, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE,"abcdefghijklmnopqrstuvwxyz0123456789-_.,:|!?/ ");
- CMenuOptionChooser *automountInput= new CMenuOptionChooser(LOCALE_NFS_AUTOMOUNT, automount, MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true);
- CStringInputSMS options1Input(LOCALE_NFS_MOUNT_OPTIONS, options1, 30, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "abcdefghijklmnopqrstuvwxyz0123456789-_=.,:|!?/ ");
- CMenuForwarder *options1_fwd = new CMenuForwarder(LOCALE_NFS_MOUNT_OPTIONS, true, options1, &options1Input);
- CStringInputSMS options2Input(LOCALE_NFS_MOUNT_OPTIONS, options2, 30, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "abcdefghijklmnopqrstuvwxyz0123456789-_=.,:|!?/ ");
- CMenuForwarder *options2_fwd = new CMenuForwarder(LOCALE_NFS_MOUNT_OPTIONS, true, options2, &options2Input);
- CStringInputSMS userInput(LOCALE_NFS_USERNAME, username, 30, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "abcdefghijklmnopqrstuvwxyz0123456789-_.,:|!?/ ");
- CMenuForwarder *username_fwd = new CMenuForwarder(LOCALE_NFS_USERNAME, (*type != (int)CFSMounter::NFS), username, &userInput);
- CStringInputSMS passInput(LOCALE_NFS_PASSWORD, password, 30, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "abcdefghijklmnopqrstuvwxyz0123456789-_.,:|!?/ ");
- CMenuForwarder *password_fwd = new CMenuForwarder(LOCALE_NFS_PASSWORD, (*type != (int)CFSMounter::NFS), NULL, &passInput);
- CMACInput macInput(LOCALE_RECORDINGMENU_SERVER_MAC, g_settings.network_nfs_mac[nr]);
- CMenuForwarder * macInput_fwd = new CMenuForwarder(LOCALE_RECORDINGMENU_SERVER_MAC, true, g_settings.network_nfs_mac[nr], &macInput);
- CMenuForwarder *mountnow_fwd = new CMenuForwarder(LOCALE_NFS_MOUNTNOW, !(CFSMounter::isMounted(g_settings.network_nfs_local_dir[nr])), NULL, this, cmd.c_str());
+
+ CIPInput ipInput(LOCALE_NFS_IP, g_settings.network_nfs[nr].ip);
+ CStringInputSMS dirInput(LOCALE_NFS_DIR, &g_settings.network_nfs[nr].dir, 30, false, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE,"abcdefghijklmnopqrstuvwxyz0123456789-_.,:|!?/ ");
+
+ CMenuOptionChooser *automountInput= new CMenuOptionChooser(LOCALE_NFS_AUTOMOUNT, &g_settings.network_nfs[nr].automount, MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true);
+
+ CStringInputSMS options1Input(LOCALE_NFS_MOUNT_OPTIONS, &g_settings.network_nfs[nr].mount_options1, 30, false, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "abcdefghijklmnopqrstuvwxyz0123456789-_=.,:|!?/ ");
+ CMenuForwarder *options1_fwd = new CMenuForwarder(LOCALE_NFS_MOUNT_OPTIONS, true, g_settings.network_nfs[nr].mount_options1, &options1Input);
+
+ CStringInputSMS options2Input(LOCALE_NFS_MOUNT_OPTIONS, &g_settings.network_nfs[nr].mount_options2, 30, false, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "abcdefghijklmnopqrstuvwxyz0123456789-_=.,:|!?/ ");
+ CMenuForwarder *options2_fwd = new CMenuForwarder(LOCALE_NFS_MOUNT_OPTIONS, true, g_settings.network_nfs[nr].mount_options2, &options2Input);
+
+ CStringInputSMS userInput(LOCALE_NFS_USERNAME, &g_settings.network_nfs[nr].username, 30, false, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "abcdefghijklmnopqrstuvwxyz0123456789-_.,:|!?/ ");
+ CMenuForwarder *username_fwd = new CMenuForwarder(LOCALE_NFS_USERNAME, (g_settings.network_nfs[nr].type != (int)CFSMounter::NFS), NULL, &userInput);
+
+ CStringInputSMS passInput(LOCALE_NFS_PASSWORD, &g_settings.network_nfs[nr].password, 30, false, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "abcdefghijklmnopqrstuvwxyz0123456789-_.,:|!?/ ");
+ CMenuForwarder *password_fwd = new CMenuForwarder(LOCALE_NFS_PASSWORD, (g_settings.network_nfs[nr].type != (int)CFSMounter::NFS), NULL, &passInput);
+
+ CMACInput macInput(LOCALE_RECORDINGMENU_SERVER_MAC, g_settings.network_nfs[nr].mac);
+ CMenuForwarder * macInput_fwd = new CMenuForwarder(LOCALE_RECORDINGMENU_SERVER_MAC, true, g_settings.network_nfs[nr].mac, &macInput);
+
+ CMenuForwarder *mountnow_fwd = new CMenuForwarder(LOCALE_NFS_MOUNTNOW, !(CFSMounter::isMounted(g_settings.network_nfs[nr].local_dir)), NULL, this, ("domount" + to_string(nr)).c_str(), CRCInput::RC_red);
mountnow_fwd->setItemButton(NEUTRINO_ICON_BUTTON_OKAY, true);
COnOffNotifier notifier(CFSMounter::NFS);
notifier.addItem(username_fwd);
notifier.addItem(password_fwd);
- mountMenuEntryW.addItem(new CMenuOptionChooser(LOCALE_NFS_TYPE, type, NFS_TYPE_OPTIONS, NFS_TYPE_OPTION_COUNT, typeEnabled, ¬ifier));
- mountMenuEntryW.addItem(new CMenuForwarder(LOCALE_NFS_IP , true, g_settings.network_nfs_ip[nr], &ipInput ));
- mountMenuEntryW.addItem(new CMenuForwarder(LOCALE_NFS_DIR , true, dir , &dirInput ));
- mountMenuEntryW.addItem(new CMenuForwarder(LOCALE_NFS_LOCALDIR, true, local_dir , this , cmd2.c_str()));
+ mountMenuEntryW.addItem(new CMenuOptionChooser(LOCALE_NFS_TYPE, &g_settings.network_nfs[nr].type, NFS_TYPE_OPTIONS, NFS_TYPE_OPTION_COUNT, typeEnabled, ¬ifier ));
+ mountMenuEntryW.addItem(new CMenuForwarder(LOCALE_NFS_IP , true, g_settings.network_nfs[nr].ip, &ipInput ));
+ mountMenuEntryW.addItem(new CMenuForwarder(LOCALE_NFS_DIR , true, g_settings.network_nfs[nr].dir, &dirInput ));
+ mountMenuEntryW.addItem(new CMenuForwarder(LOCALE_NFS_LOCALDIR, true, g_settings.network_nfs[nr].local_dir, this, ("dir" + to_string(nr)).c_str() ));
mountMenuEntryW.addItem(automountInput);
mountMenuEntryW.addItem(options1_fwd);
mountMenuEntryW.addItem(options2_fwd);
mountMenuEntryW.addItem(username_fwd);
mountMenuEntryW.addItem(password_fwd);
mountMenuEntryW.addItem(macInput_fwd);
+ mountMenuEntryW.addItem(GenericMenuSeparatorLine);
mountMenuEntryW.addItem(mountnow_fwd);
int ret = mountMenuEntryW.exec(this,"");
@@ -293,7 +273,7 @@ int CNFSUmountGui::menu()
for (CFSMounter::MountInfos::const_iterator it = infos.begin();
it != infos.end(); ++it)
{
- if(it->type == "nfs" || it->type == "cifs" || it->type == "lufs" || it->type == "smbfs")
+ if(it->type == "nfs" || it->type == "cifs" || it->type == "lufs")
{
count++;
std::string s1 = it->device;
@@ -334,8 +314,8 @@ int CNFSSmallMenu::exec( CMenuTarget* parent, const std::string & actionKey )
//umount automount dirs
for(int i = 0; i < NETWORK_NFS_NR_OF_ENTRIES; i++)
{
- if(g_settings.network_nfs_automount[i])
- umount2(g_settings.network_nfs_local_dir[i],MNT_FORCE);
+ if(g_settings.network_nfs[i].automount)
+ umount2(g_settings.network_nfs[i].local_dir.c_str(), MNT_FORCE);
}
CFSMounter::automount();
return menu_return::RETURN_REPAINT;
diff --git a/tuxbox/neutrino/src/gui/nfs.h b/tuxbox/neutrino/src/gui/nfs.h
index ea2c343..d8e0ddb 100644
--- a/tuxbox/neutrino/src/gui/nfs.h
+++ b/tuxbox/neutrino/src/gui/nfs.h
@@ -45,15 +45,16 @@ class CNFSMountGui : public CMenuTarget
int menu();
int menuEntry(int nr);
- char m_entry[NETWORK_NFS_NR_OF_ENTRIES][200];
- char ISO_8859_1_entry[NETWORK_NFS_NR_OF_ENTRIES][200];
+ std::string m_entry[NETWORK_NFS_NR_OF_ENTRIES];
+ std::string ISO_8859_1_entry[NETWORK_NFS_NR_OF_ENTRIES];
+
+ std::string getEntryString(int i);
CMenuForwarder* mountMenuEntry[NETWORK_NFS_NR_OF_ENTRIES];
CFSMounter::FS_Support m_nfs_sup;
CFSMounter::FS_Support m_cifs_sup;
CFSMounter::FS_Support m_lufs_sup;
- CFSMounter::FS_Support m_smbfs_sup;
public:
CNFSMountGui();
diff --git a/tuxbox/neutrino/src/gui/widget/dirchooser.cpp b/tuxbox/neutrino/src/gui/widget/dirchooser.cpp
index 8582903..683cac1 100755
--- a/tuxbox/neutrino/src/gui/widget/dirchooser.cpp
+++ b/tuxbox/neutrino/src/gui/widget/dirchooser.cpp
@@ -166,7 +166,7 @@ void CRecDirChooser::initMenu(void)
//printf("dir %d = nfs: %d\n",i,nfsIndex[i]);
if( nfsIndex[i] != -1)
{
- int retvalue = pingthost(g_settings.network_nfs_ip[nfsIndex[i]].c_str(),60); // send ping and wait 60ms
+ int retvalue = pingthost(g_settings.network_nfs[nfsIndex[i]].ip.c_str(),60); // send ping and wait 60ms
if (retvalue == 0)//LOCALE_PING_UNREACHABLE
{
dirOptionText[i] = g_Locale->getText(LOCALE_RECDIRCHOOSER_SERVER_DOWN);
@@ -176,7 +176,7 @@ void CRecDirChooser::initMenu(void)
else if (retvalue == 1)//LOCALE_PING_OK
{
// check if we can get more dir informations
- if( CFSMounter::isMounted (g_settings.network_nfs_local_dir[nfsIndex[i]]) == 0)
+ if (CFSMounter::isMounted (g_settings.network_nfs[nfsIndex[i]].local_dir))
{
dirOptionText[i] = g_Locale->getText(LOCALE_RECDIRCHOOSER_NOT_MOUNTED);
get_size = false;
@@ -288,8 +288,8 @@ int getNFSIDOfDir(const char * dir)
bool loop = true;
for (int i = 0; i < NETWORK_NFS_NR_OF_ENTRIES && loop; i++)
{
- if (g_settings.network_nfs_local_dir[i][0] != 0 &&
- strstr(dir,g_settings.network_nfs_local_dir[i]) == dir)
+ if (g_settings.network_nfs[i].local_dir[0] != 0 &&
+ g_settings.network_nfs[i].local_dir == dir)
{
result = i;
loop = false;
@@ -330,7 +330,7 @@ int getFirstFreeRecDirNr(int min_free_gb)
if( nfs_id != -1 )
{
printf("NFS%d", nfs_id);
- int retvalue = pingthost(g_settings.network_nfs_ip[nfs_id].c_str(),60); // ping for 60 ms
+ int retvalue = pingthost(g_settings.network_nfs[nfs_id].ip.c_str(), 60); // ping for 60 ms
if (retvalue == 0) //LOCALE_PING_UNREACHABLE
{
printf(",Server down ");
@@ -338,16 +338,16 @@ int getFirstFreeRecDirNr(int min_free_gb)
#ifdef ENABLE_GUI_MOUNT
else if (retvalue == 1) //LOCALE_PING_OK
{
- if(CFSMounter::isMounted (g_settings.network_nfs_local_dir[nfs_id]) == 0)
+ if (CFSMounter::isMounted (g_settings.network_nfs[nfs_id].local_dir))
{
- CFSMounter::MountRes mres = CFSMounter::mount(g_settings.network_nfs_ip[nfs_id].c_str(),
- g_settings.network_nfs_dir[nfs_id],
- g_settings.network_nfs_local_dir[nfs_id],
- (CFSMounter::FSType) g_settings.network_nfs_type[nfs_id],
- g_settings.network_nfs_username[nfs_id],
- g_settings.network_nfs_password[nfs_id],
- g_settings.network_nfs_mount_options1[nfs_id],
- g_settings.network_nfs_mount_options2[nfs_id]);
+ CFSMounter::MountRes mres = CFSMounter::mount(g_settings.network_nfs[nfs_id].ip,
+ g_settings.network_nfs[nfs_id].dir,
+ g_settings.network_nfs[nfs_id].local_dir,
+ (CFSMounter::FSType) g_settings.network_nfs[nfs_id].type,
+ g_settings.network_nfs[nfs_id].username,
+ g_settings.network_nfs[nfs_id].password,
+ g_settings.network_nfs[nfs_id].mount_options1,
+ g_settings.network_nfs[nfs_id].mount_options2 );
if (mres != CFSMounter::MRES_OK)
{
printf(",mount failed");
diff --git a/tuxbox/neutrino/src/gui/widget/mountchooser.cpp b/tuxbox/neutrino/src/gui/widget/mountchooser.cpp
index deb9c87..1f29061 100644
--- a/tuxbox/neutrino/src/gui/widget/mountchooser.cpp
+++ b/tuxbox/neutrino/src/gui/widget/mountchooser.cpp
@@ -48,21 +48,20 @@ CMountChooser::CMountChooser(const neutrino_locale_t Name, const std::string & I
char indexStr[2];
for(int i=0 ; i < NETWORK_NFS_NR_OF_ENTRIES ; i++)
{
- if (g_settings.network_nfs_local_dir[i] != NULL &&
- strcmp(g_settings.network_nfs_local_dir[i],"") != 0 &&
- (strstr(g_settings.network_nfs_mount_options1[i],"rw") != NULL ||
- strstr(g_settings.network_nfs_mount_options2[i],"rw") != NULL))
+ if (!g_settings.network_nfs[i].local_dir.empty() &&
+ (g_settings.network_nfs[i].mount_options1.find("rw") != string::npos ||
+ g_settings.network_nfs[i].mount_options2.find("rw") != string::npos))
{
- std::string s(g_settings.network_nfs_local_dir[i]);
+ std::string s(g_settings.network_nfs[i].local_dir);
s += " (";
- s += g_settings.network_nfs_ip[i];
+ s += g_settings.network_nfs[i].ip;
s += ":";
- s += g_settings.network_nfs_dir[i];
+ s += g_settings.network_nfs[i].dir;
s +=")";
snprintf(indexStr,2,"%d",i);
CMenuForwarder* fw = new CMenuForwarder(s.c_str(), true, NULL, this, (std::string("MID:") + std::string(indexStr)).c_str());
fw->setItemButton(NEUTRINO_ICON_BUTTON_OKAY, true);
- addItem(fw, (strcmp(selectedLocalDir, g_settings.network_nfs_local_dir[i]) == 0));
+ addItem(fw, selectedLocalDir == g_settings.network_nfs[i].local_dir);
}
}
}
@@ -80,8 +79,9 @@ int CMountChooser::exec(CMenuTarget* parent, const std::string & actionKey)
{
if (index)
*index = mount_id;
- if (localDir)
- strcpy(localDir,g_settings.network_nfs_local_dir[mount_id]);
+
+ if (localDir.empty()) // ???
+ localDir = g_settings.network_nfs[mount_id].local_dir;
}
hide();
return menu_return::RETURN_EXIT;
diff --git a/tuxbox/neutrino/src/gui/widget/mountchooser.h b/tuxbox/neutrino/src/gui/widget/mountchooser.h
index da7a030..d22dd07 100644
--- a/tuxbox/neutrino/src/gui/widget/mountchooser.h
+++ b/tuxbox/neutrino/src/gui/widget/mountchooser.h
@@ -52,7 +52,7 @@ class CMountChooser : public CMenuWidget
{
private:
int * index;
- char * localDir;
+ std::string localDir;
public:
diff --git a/tuxbox/neutrino/src/gui/widget/stringinput_ext.cpp b/tuxbox/neutrino/src/gui/widget/stringinput_ext.cpp
index 74c6bdc..7db7e6b 100644
--- a/tuxbox/neutrino/src/gui/widget/stringinput_ext.cpp
+++ b/tuxbox/neutrino/src/gui/widget/stringinput_ext.cpp
@@ -537,40 +537,41 @@ void CDateInput::onAfterExec()
}
//-----------------------------#################################-------------------------------------------------------
-CMACInput::CMACInput(const neutrino_locale_t Name, char* Value, const neutrino_locale_t Hint_1, const neutrino_locale_t Hint_2, CChangeObserver* Observ)
- : CExtendedInput(Name, Value, Hint_1, Hint_2, Observ)
+CMACInput::CMACInput(const neutrino_locale_t Name, std::string & Value, const neutrino_locale_t Hint_1, const neutrino_locale_t Hint_2, CChangeObserver* Observ)
+ : CExtendedInput(Name, MAC, Hint_1, Hint_2, Observ)
{
- addInputField( new CExtendedInput_Item_Char("0123456789ABCDEF") );
- addInputField( new CExtendedInput_Item_Char("0123456789ABCDEF") );
+ mac = &Value;
+ addInputField( new CExtendedInput_Item_Char("0123456789abcdef") );
+ addInputField( new CExtendedInput_Item_Char("0123456789abcdef") );
addInputField( new CExtendedInput_Item_Spacer(20) );
- addInputField( new CExtendedInput_Item_Char("0123456789ABCDEF") );
- addInputField( new CExtendedInput_Item_Char("0123456789ABCDEF") );
+ addInputField( new CExtendedInput_Item_Char("0123456789abcdef") );
+ addInputField( new CExtendedInput_Item_Char("0123456789abcdef") );
addInputField( new CExtendedInput_Item_Spacer(20) );
- addInputField( new CExtendedInput_Item_Char("0123456789ABCDEF") );
- addInputField( new CExtendedInput_Item_Char("0123456789ABCDEF") );
+ addInputField( new CExtendedInput_Item_Char("0123456789abcdef") );
+ addInputField( new CExtendedInput_Item_Char("0123456789abcdef") );
addInputField( new CExtendedInput_Item_Spacer(20) );
- addInputField( new CExtendedInput_Item_Char("0123456789ABCDEF") );
- addInputField( new CExtendedInput_Item_Char("0123456789ABCDEF") );
+ addInputField( new CExtendedInput_Item_Char("0123456789abcdef") );
+ addInputField( new CExtendedInput_Item_Char("0123456789abcdef") );
addInputField( new CExtendedInput_Item_Spacer(20) );
- addInputField( new CExtendedInput_Item_Char("0123456789ABCDEF") );
- addInputField( new CExtendedInput_Item_Char("0123456789ABCDEF") );
+ addInputField( new CExtendedInput_Item_Char("0123456789abcdef") );
+ addInputField( new CExtendedInput_Item_Char("0123456789abcdef") );
addInputField( new CExtendedInput_Item_Spacer(20) );
- addInputField( new CExtendedInput_Item_Char("0123456789ABCDEF") );
- addInputField( new CExtendedInput_Item_Char("0123456789ABCDEF") );
+ addInputField( new CExtendedInput_Item_Char("0123456789abcdef") );
+ addInputField( new CExtendedInput_Item_Char("0123456789abcdef") );
addInputField( new CExtendedInput_Item_newLiner(3...
[truncated message content] |