1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
/////////////////////////////////////////////////////////////////////////////
//
// Project: SMB kioslave for KDE
//
// File: Top level implementation file for kio_smb.cpp
//
// Abstract: member function implementations for SMBSlave
//
// 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
//
/////////////////////////////////////////////////////////////////////////////
#include "kio_smb.h"
#include "kio_smb_internal.h"
#include <QCoreApplication>
Q_LOGGING_CATEGORY(KIO_SMB, "kio_smb")
//===========================================================================
SMBSlave::SMBSlave(const QByteArray& pool, const QByteArray& app)
: SlaveBase( "smb", pool, app ), m_openFd(-1)
{
m_initialized_smbc = false;
//read in the default workgroup info...
reparseConfiguration();
//initialize the library...
auth_initialize_smbc();
}
//===========================================================================
SMBSlave::~SMBSlave()
{
}
void SMBSlave::virtual_hook(int id, void *data) {
switch(id) {
case SlaveBase::GetFileSystemFreeSpace: {
QUrl *url = static_cast<QUrl *>(data);
fileSystemFreeSpace(*url);
} break;
default: {
SlaveBase::virtual_hook(id, data);
} break;
}
}
//===========================================================================
int Q_DECL_EXPORT kdemain( int argc, char **argv )
{
QCoreApplication app(argc, argv);
if( argc != 4 )
{
qCDebug(KIO_SMB) << "Usage: kio_smb protocol domain-socket1 domain-socket2"
<< endl;
return -1;
}
SMBSlave slave( argv[2], argv[3] );
slave.dispatchLoop();
return 0;
}
|