diff options
Diffstat (limited to 'kioslave/smb/kio_smb.h')
-rw-r--r-- | kioslave/smb/kio_smb.h | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/kioslave/smb/kio_smb.h b/kioslave/smb/kio_smb.h deleted file mode 100644 index d111c7646..000000000 --- a/kioslave/smb/kio_smb.h +++ /dev/null @@ -1,301 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// Project: SMB kioslave for KDE2 -// -// File: kio_smb.h -// -// Abstract: The main kio slave class declaration. For convenience, -// in concurrent devlopment, the implementation for this class -// is separated into several .cpp files -- the file containing -// the implementation should be noted in the comments for each -// member function. -// -// Author(s): Matthew Peterson <mpeterson@caldera.com> -// -//--------------------------------------------------------------------------- -// -// Copyright (c) 2000 Caldera Systems, Inc. -// -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2.1 of the License, or -// (at your option) any later version. -// -// This program 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 Lesser General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, please obtain -// a copy from http://www.gnu.org/copyleft/gpl.html -// -///////////////////////////////////////////////////////////////////////////// - - -#ifndef KIO_SMB_H_INCLUDED -#define KIO_SMB_H_INCLUDED - -//------------- -// QT includes -//------------- -#include <tqstring.h> -#include <tqptrlist.h> -#include <tqstringlist.h> -#include <tqtextstream.h> -#include <tqstrlist.h> - -//-------------- -// KDE includes -//-------------- -#include <kdebug.h> -#include <kinstance.h> -#include <kio/global.h> -#include <kio/slavebase.h> -#include <kurl.h> -#include <klocale.h> - -//----------------------------- -// Standard C library includes -//----------------------------- -#include <stdlib.h> -#include <sys/stat.h> -#include <sys/ioctl.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <net/if.h> -#include <arpa/inet.h> -#include <stdio.h> -#include <errno.h> -#include <time.h> -#include <tqobject.h> - -//------------------------------- -// Samba client library includes -//------------------------------- -extern "C" -{ -#include <libsmbclient.h> -} - -//--------------------------- -// kio_smb internal includes -//--------------------------- -#include "kio_smb_internal.h" - -#define MAX_XFER_BUF_SIZE 16348 -#define KIO_SMB 7106 - -using namespace TDEIO; -class TDEProcess; - -//=========================================================================== - - -class SMBSlave : public TQObject, public TDEIO::SlaveBase -{ - Q_OBJECT - -private: - //--------------------------------------------------------------------- - // please make sure your private data does not duplicate existing data - //--------------------------------------------------------------------- - bool m_initialized_smbc; - - /** - * From Controlcenter - */ - TQString m_default_user; -// TQString m_default_workgroup; //currently unused, Alex <neundorf@kde.org> - TQString m_default_password; - TQString m_default_encoding; - - /** - * we store the current url, it's needed for - * callback authorisation method - */ - SMBUrl m_current_url; - - /** - * From Controlcenter, show SHARE$ or not - */ -// bool m_showHiddenShares; //currently unused, Alex <neundorf@kde.org> - - /** - * libsmbclient need global variables to store in, - * else it crashes on exit next method after use cache_stat, - * looks like gcc (C/C++) failure - */ - struct stat st; -protected: - //--------------------------------------------- - // Authentication functions (kio_smb_auth.cpp) - //--------------------------------------------- - // (please prefix functions with auth) - - - /** - * Description : Initilizes the libsmbclient - * Return : true on success false with errno set on error - */ - bool auth_initialize_smbc(); - - bool checkPassword(SMBUrl &url); - - - //--------------------------------------------- - // Cache functions (kio_smb_auth.cpp) - //--------------------------------------------- - - //Stat methods - - //----------------------------------------- - // Browsing functions (kio_smb_browse.cpp) - //----------------------------------------- - // (please prefix functions with browse) - - /** - * Description : Return a stat of given SMBUrl. Calls cache_stat and - * pack it in UDSEntry. UDSEntry will not be cleared - * Parameter : SMBUrl the url to stat - * ignore_errors do not call error(), but warning() - * Return : false if any error occoured (errno), else true - */ - bool browse_stat_path(const SMBUrl& url, UDSEntry& udsentry, bool ignore_errors); - - /** - * Description : call smbc_stat and return stats of the url - * Parameter : SMBUrl the url to stat - * Return : stat* of the url - * Note : it has some problems with stat in method, looks like - * something leave(or removed) on the stack. If your - * method segfault on returning try to change the stat* - * variable - */ - int cache_stat( const SMBUrl& url, struct stat* st ); - - //--------------------------------------------- - // Configuration functions (kio_smb_config.cpp) - //--------------------------------------------- - // (please prefix functions with config) - - - //--------------------------------------- - // Directory functions (kio_smb_dir.cpp) - //--------------------------------------- - // (please prefix functions with dir) - - - //-------------------------------------- - // File IO functions (kio_smb_file.cpp) - //-------------------------------------- - // (please prefix functions with file) - - //---------------------------- - // Misc functions (this file) - //---------------------------- - - - /** - * Description : correct a given URL - * valid URL's are - * - * smb://[[domain;]user[:password]@]server[:port][/share[/path[/file]]] - * smb:/[[domain;]user[:password]@][group/[server[/share[/path[/file]]]]] - * domain = workgroup(domain) of the user - * user = username - * password = password of useraccount - * group = workgroup(domain) of server - * server = host to connect - * share = a share of the server (host) - * path = a path of the share - * Parameter : KURL the url to check - * Return : new KURL if its corrected. else the same KURL - */ - KURL checkURL(const KURL& kurl) const; - - void reportError(const SMBUrl &kurl); - -public: - - //----------------------------------------------------------------------- - // smbclient authentication callback (note that this is called by the - // global ::auth_smbc_get_data() call. - void auth_smbc_get_data(const char *server,const char *share, - char *workgroup, int wgmaxlen, - char *username, int unmaxlen, - char *password, int pwmaxlen); - - - //----------------------------------------------------------------------- - // Overwritten functions from the base class that define the operation of - // this slave. (See the base class headerfile slavebase.h for more - // details) - //----------------------------------------------------------------------- - - // Functions overwritten in kio_smb.cpp - SMBSlave(const TQCString& pool, const TQCString& app); - virtual ~SMBSlave(); - - // Functions overwritten in kio_smb_browse.cpp - virtual void listDir( const KURL& url ); - virtual void stat( const KURL& url ); - - // Functions overwritten in kio_smb_config.cpp - virtual void reparseConfiguration(); - - // Functions overwritten in kio_smb_dir.cpp - virtual void copy( const KURL& src, const KURL &dest, int permissions, bool overwrite ); - virtual void del( const KURL& kurl, bool isfile); - virtual void mkdir( const KURL& kurl, int permissions ); - virtual void rename( const KURL& src, const KURL& dest, bool overwrite ); - - // Functions overwritten in kio_smb_file.cpp - virtual void get( const KURL& kurl ); - virtual void put( const KURL& kurl, int permissions, bool overwrite, bool resume ); - - // Functions not implemented (yet) - //virtual void setHost(const TQString& host, int port, const TQString& user, const TQString& pass); - //virtual void openConnection(); - //virtual void closeConnection(); - //virtual void slave_status(); - virtual void special( const TQByteArray & ); - -private slots: - void readOutput(TDEProcess *proc, char *buffer, int buflen); - void readStdErr(TDEProcess *proc, char *buffer, int buflen); - -private: - TQString mybuf, mystderr; - -}; - -//=========================================================================== -// pointer to the slave created in kdemain -extern SMBSlave* G_TheSlave; - - -//========================================================================== -// the global libsmbclient authentication callback function -extern "C" -{ - -void auth_smbc_get_data(const char *server,const char *share, - char *workgroup, int wgmaxlen, - char *username, int unmaxlen, - char *password, int pwmaxlen); - -} - - -//=========================================================================== -// Main slave entrypoint (see kio_smb.cpp) -extern "C" -{ - -int kdemain( int argc, char **argv ); - -} - - -#endif //#endif KIO_SMB_H_INCLUDED |