KHTML
khtml_global.h
Go to the documentation of this file.00001 /* This file is part of the KDE project 00002 * 00003 * Copyright (C) 2000 Simon Hausmann <hausmann@kde.org> 00004 * Copyright (C) 2007 David Faure <faure@kde.org> 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Library General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Library General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Library General Public License 00017 * along with this library; see the file COPYING.LIB. If not, write to 00018 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00019 * Boston, MA 02110-1301, USA. 00020 */ 00021 00022 #ifndef KHTML_GLOBAL_H 00023 #define KHTML_GLOBAL_H 00024 00025 #include <khtml_export.h> 00026 00027 #include <kparts/historyprovider.h> 00028 #include <kurl.h> 00029 00030 class KComponentData; 00031 class KIconLoader; 00032 class KAboutData; 00033 class HistoryProvider; 00034 class KHTMLSettings; 00035 class KHTMLPart; 00036 00037 namespace DOM 00038 { 00039 class DocumentImpl; 00040 } 00041 00046 class KHTML_EXPORT KHTMLGlobal 00047 { 00048 friend class KHTMLViewPrivate; 00049 00050 public: 00051 KHTMLGlobal(); 00052 ~KHTMLGlobal(); 00053 00054 static void registerPart( KHTMLPart *part ); 00055 static void deregisterPart( KHTMLPart *part ); 00056 00057 static void registerDocumentImpl( DOM::DocumentImpl *doc ); 00058 static void deregisterDocumentImpl( DOM::DocumentImpl *doc ); 00059 00060 static const KComponentData &componentData(); 00061 static KIconLoader *iconLoader(); 00062 00063 static KHTMLSettings *defaultHTMLSettings(); 00064 00065 // list of visited URLs 00066 static KParts::HistoryProvider *vLinks() { 00067 return KParts::HistoryProvider::self(); 00068 } 00069 00070 // Called when khtml part is unloaded 00071 static void finalCheck(); 00072 00073 private: 00074 static void ref(); 00075 static void deref(); 00076 private: 00077 static unsigned long s_refcnt; 00078 static KHTMLGlobal *s_self; 00079 static KComponentData *s_componentData; 00080 static KIconLoader *s_iconLoader; 00081 static KAboutData *s_about; 00082 static KHTMLSettings *s_settings; 00083 }; 00084 00085 #endif 00086