/* This file is part of the KDE project
Copyright (C) 2000 Dawit Alemayehu <adawit@kde.org
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License (LGPL) 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 Lesser General Public
License along with this library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place -
Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __KIO_SESSIONDATA_H
#define __KIO_SESSIONDATA_H
#include <qobject.h>
#include <kurl.h>
namespace KIO {
class SlaveConfig;
/**
* This class hanldes static io-slave config information. Static
* config information are options that rarely change and even when
* they do they require user intervention. These kinds of options
* are mostly modifiable by the end user from the control panel and
* as such do not change as much as per session options, those that
* can be modified programtically. Some examples of static config
* information are things such as locale settings, location of caching
* directories, and state of the cookiejar.
*
* Note that this class is only concerned with KDE configurations
* that are needed by the io-slaves.
*
* @short Helper class that abstracts out static io-slave configuration
* infromation from the scheduler.
*
* @author Dawit Alemayehu <adawit@kde.org>
*/
class SessionData : public QObject
{
Q_OBJECT
public:
/** Constructor */
SessionData();
/** Destructor */
~SessionData();
/**
* Sets any missing and/or required config data for the given
* io-slave (protocol) and host.
*
* @param cfg the configuration class passed to the io-slve
* @param proto the protocol (http, ftp, pop3) etc...
* @param host the host from which the resource is requested (eg: kde.org)
*/
virtual void configDataFor( SlaveConfig* cfg, const QString& proto,
const QString& host = QString::null );
/**
* Re-reads configuration information.
*/
virtual void reset();
/**
* Set the current request URL.
*
* This information, if supplied, is used to determine
* whether or not automatic login information is available
* for the current request.
*
* @param url current request URL.
*/
void setRequestURL (const KURL& url);
public slots:
/**
* Slot that tracks and manages authentication information
* using the supplied keys.
*
* @param
* @param
* @param
*/
void slotAuthData( const QCString&, const QCString&, bool );
/**
* Removes the authenticion information stored using
* the supplied key.
*
* @param key key for authentication info to be deleted
*/
void slotDelAuthData( const QCString& key );
private:
struct AuthData;
class AuthDataList;
friend class AuthDataList;
AuthDataList* authData;
class SessionDataPrivate;
SessionDataPrivate* d;
};
};
#endif
| Generated by: root@daffy.perf.redhat.com on Mon Jul 14 13:27:46 2003, using kdoc 2.0a53. |