KIOSlave
kcookieserver.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef KCOOKIESERVER_H
00026 #define KCOOKIESERVER_H
00027
00028 #include <QtCore/QStringList>
00029 #include <kdedmodule.h>
00030 #include <QtDBus/QtDBus>
00031 #include <QtDBus/QDBusContext>
00032
00033 class KHttpCookieList;
00034 class KCookieJar;
00035 class KHttpCookie;
00036 class QTimer;
00037 class RequestList;
00038 class KConfig;
00039
00040 class KCookieServer : public KDEDModule, protected QDBusContext
00041 {
00042 Q_OBJECT
00043 Q_CLASSINFO("D-Bus Interface", "org.kde.KCookieServer")
00044 public:
00045 KCookieServer(QObject* parent, const QList<QVariant>&);
00046 ~KCookieServer();
00047
00048 public Q_SLOTS:
00049 QString listCookies(const QString &url);
00050 QString findCookies(const QString &url, qlonglong windowId);
00051 QStringList findDomains();
00052 QStringList findCookies(const QList<int> &fields,const QString &domain,const QString& fqdn,const QString &path, const QString &name);
00053 QString findDOMCookies(const QString &url);
00054 QString findDOMCookies(const QString &url, qlonglong windowId);
00055 void addCookies(const QString &url, const QByteArray &cookieHeader, qlonglong windowId);
00056 void deleteCookie(const QString &domain, const QString &fqdn, const QString &path, const QString &name);
00057 void deleteCookiesFromDomain(const QString &domain);
00058 void deleteSessionCookies(qlonglong windowId);
00059 void deleteSessionCookiesFor(const QString &fqdn, qlonglong windowId);
00060 void deleteAllCookies();
00061 void addDOMCookies(const QString &url, const QByteArray &cookieHeader, qlonglong windowId);
00065 void setDomainAdvice(const QString &url, const QString &advice);
00069 QString getDomainAdvice(const QString &url);
00070 void reloadPolicy();
00071 void shutdown();
00072
00073 public:
00074 bool cookiesPending(const QString &url, KHttpCookieList *cookieList=0);
00075 void addCookies(const QString &url, const QByteArray &cookieHeader,
00076 qlonglong windowId, bool useDOMFormat);
00077 void checkCookies(KHttpCookieList *cookieList);
00078
00079 private Q_SLOTS:
00080 void slotSave();
00081 void slotDeleteSessionCookies(qlonglong windowId);
00082
00083 private:
00084 KCookieJar *mCookieJar;
00085 KHttpCookieList *mPendingCookies;
00086 RequestList *mRequestList;
00087 QTimer *mTimer;
00088 bool mAdvicePending;
00089 KConfig *mConfig;
00090
00091 private:
00092 virtual int newInstance(QList<QByteArray>) { return 0; }
00093 bool cookieMatches(const KHttpCookie&, const QString&, const QString&, const QString&, const QString&);
00094 void putCookie(QStringList&, const KHttpCookie&, const QList<int>&);
00095 void saveCookieJar();
00096 };
00097
00098 #endif