diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-01-27 01:02:02 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-01-27 01:02:02 -0600 |
commit | de7e5867a65e0a46f1388e3e50bc7eeddd1aecbf (patch) | |
tree | dbb3152c372f8620f9290137d461f3d9f9eba1cb /kioslave/smb/kio_smb_mount.cpp | |
parent | 936d3cec490c13f2c5f7dd14f5e364fddaa6da71 (diff) | |
download | tdebase-de7e5867a65e0a46f1388e3e50bc7eeddd1aecbf.tar.gz tdebase-de7e5867a65e0a46f1388e3e50bc7eeddd1aecbf.zip |
Rename a number of libraries and executables to avoid conflicts with KDE4
Diffstat (limited to 'kioslave/smb/kio_smb_mount.cpp')
-rw-r--r-- | kioslave/smb/kio_smb_mount.cpp | 211 |
1 files changed, 0 insertions, 211 deletions
diff --git a/kioslave/smb/kio_smb_mount.cpp b/kioslave/smb/kio_smb_mount.cpp deleted file mode 100644 index ad421f631..000000000 --- a/kioslave/smb/kio_smb_mount.cpp +++ /dev/null @@ -1,211 +0,0 @@ -/* This file is part of the KDE project - - Copyright (C) 2000 Alexander Neundorf <neundorf@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include "kio_smb.h" -#include <kstandarddirs.h> -#include <tqcstring.h> -#include <unistd.h> -#include <tqdir.h> -#include <kprocess.h> - -void SMBSlave::readOutput(TDEProcess *, char *buffer, int buflen) -{ - mybuf += TQString::fromLocal8Bit(buffer, buflen); -} - -void SMBSlave::readStdErr(TDEProcess *, char *buffer, int buflen) -{ - mystderr += TQString::fromLocal8Bit(buffer, buflen); -} - -void SMBSlave::special( const TQByteArray & data) -{ - kdDebug(KIO_SMB)<<"Smb::special()"<<endl; - int tmp; - TQDataStream stream(data, IO_ReadOnly); - stream >> tmp; - //mounting and umounting are both blocking, "guarded" by a SIGALARM in the future - switch (tmp) - { - case 1: - case 3: - { - TQString remotePath, mountPoint, user; - stream >> remotePath >> mountPoint; - - TQStringList sl=TQStringList::split("/",remotePath); - TQString share,host; - if (sl.count()>=2) - { - host=(*sl.at(0)).mid(2); - share=(*sl.at(1)); - kdDebug(KIO_SMB)<<"special() host -"<< host <<"- share -" << share <<"-"<<endl; - } - - remotePath.replace('\\', '/'); // smbmounterplugin sends \\host/share - - kdDebug(KIO_SMB) << "mounting: " << remotePath.local8Bit() << " to " << mountPoint.local8Bit() << endl; - - if (tmp==3) { - if (!KStandardDirs::makeDir(mountPoint)) { - error(TDEIO::ERR_COULD_NOT_MKDIR, mountPoint); - return; - } - } - mybuf.truncate(0); - mystderr.truncate(0); - - SMBUrl smburl("smb:///"); - smburl.setHost(host); - smburl.setPath("/" + share); - - if ( !checkPassword(smburl) ) - { - finished(); - return; - } - - // using smbmount instead of "mount -t smbfs", because mount does not allow a non-root - // user to do a mount, but a suid smbmnt does allow this - - TDEProcess proc; - proc.setUseShell(true); // to have the path to smbmnt (which is used by smbmount); see man smbmount - proc << "smbmount"; - - TQString options; - - if ( smburl.user().isEmpty() ) - { - user = "guest"; - options = "-o guest"; - } - else - { - options = "-o username=" + TDEProcess::quote(smburl.user()); - user = smburl.user(); - - if ( ! smburl.pass().isEmpty() ) - options += ",password=" + TDEProcess::quote(smburl.pass()); - } - - // TODO: check why the control center uses encodings with a blank char, e.g. "cp 1250" - //if ( ! m_default_encoding.isEmpty() ) - //options += ",codepage=" + TDEProcess::quote(m_default_encoding); - - proc << TDEProcess::quote(remotePath.local8Bit()); - proc << TDEProcess::quote(mountPoint.local8Bit()); - proc << options; - - connect(&proc, TQT_SIGNAL( receivedStdout(TDEProcess *, char *, int )), - TQT_SLOT(readOutput(TDEProcess *, char *, int))); - - connect(&proc, TQT_SIGNAL( receivedStderr(TDEProcess *, char *, int )), - TQT_SLOT(readStdErr(TDEProcess *, char *, int))); - - if (!proc.start( TDEProcess::Block, TDEProcess::AllOutput )) - { - error(TDEIO::ERR_CANNOT_LAUNCH_PROCESS, - "smbmount"+i18n("\nMake sure that the samba package is installed properly on your system.")); - return; - } - - kdDebug(KIO_SMB) << "mount exit " << proc.exitStatus() << endl - << "stdout:" << mybuf << endl << "stderr:" << mystderr << endl; - - if (proc.exitStatus() != 0) - { - error( TDEIO::ERR_COULD_NOT_MOUNT, - i18n("Mounting of share \"%1\" from host \"%2\" by user \"%3\" failed.\n%4") - .arg(share).arg(host).arg(user).arg(mybuf + "\n" + mystderr)); - return; - } - - finished(); - } - break; - case 2: - case 4: - { - TQString mountPoint; - stream >> mountPoint; - - TDEProcess proc; - proc.setUseShell(true); - proc << "smbumount"; - proc << TDEProcess::quote(mountPoint); - - mybuf.truncate(0); - mystderr.truncate(0); - - connect(&proc, TQT_SIGNAL( receivedStdout(TDEProcess *, char *, int )), - TQT_SLOT(readOutput(TDEProcess *, char *, int))); - - connect(&proc, TQT_SIGNAL( receivedStderr(TDEProcess *, char *, int )), - TQT_SLOT(readStdErr(TDEProcess *, char *, int))); - - if ( !proc.start( TDEProcess::Block, TDEProcess::AllOutput ) ) - { - error(TDEIO::ERR_CANNOT_LAUNCH_PROCESS, - "smbumount"+i18n("\nMake sure that the samba package is installed properly on your system.")); - return; - } - - kdDebug(KIO_SMB) << "smbumount exit " << proc.exitStatus() << endl - << "stdout:" << mybuf << endl << "stderr:" << mystderr << endl; - - if (proc.exitStatus() != 0) - { - error(TDEIO::ERR_COULD_NOT_UNMOUNT, - i18n("Unmounting of mountpoint \"%1\" failed.\n%2") - .arg(mountPoint).arg(mybuf + "\n" + mystderr)); - return; - } - - if ( tmp == 4 ) - { - bool ok; - - TQDir dir(mountPoint); - dir.cdUp(); - ok = dir.rmdir(mountPoint); - if ( ok ) - { - TQString p=dir.path(); - dir.cdUp(); - ok = dir.rmdir(p); - } - - if ( !ok ) - { - error(TDEIO::ERR_COULD_NOT_RMDIR, mountPoint); - return; - } - } - - finished(); - } - break; - default: - break; - } - finished(); -} - -#include "kio_smb.moc" |