KHTML
kjavaappletserver.h
Go to the documentation of this file.
00001 // -*- c++ -*- 00002 00003 /* This file is part of the KDE project 00004 * 00005 * Copyright (C) 2000 Richard Moore <rich@kde.org> 00006 * 2000 Wynn Wilkes <wynnw@caldera.com> 00007 * 00008 * This library is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Library General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2 of the License, or (at your option) any later version. 00012 * 00013 * This library is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Library General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Library General Public License 00019 * along with this library; see the file COPYING.LIB. If not, write to 00020 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00021 * Boston, MA 02110-1301, USA. 00022 */ 00023 00024 #ifndef KJAVAAPPLETSERVER_H 00025 #define KJAVAAPPLETSERVER_H 00026 00027 #include "kjavaprocess.h" 00028 #include <QtCore/QObject> 00029 #include <QtCore/QMap> 00030 #include <QtCore/QSize> 00031 00038 class KJavaAppletContext; 00039 class KJavaAppletServerPrivate; 00040 class JSStackFrame; 00041 00042 class KJavaAppletServer : public QObject 00043 { 00044 Q_OBJECT 00045 00046 public: 00051 KJavaAppletServer(); 00052 ~KJavaAppletServer(); 00053 00058 static KJavaAppletServer *allocateJavaServer(); 00059 00064 static void freeJavaServer(); 00065 00071 static QString getAppletLabel(); 00072 00076 void createContext( int contextId, KJavaAppletContext* context ); 00077 00082 void destroyContext( int contextId ); 00083 00088 bool createApplet( int contextId, int appletId, 00089 const QString & name, const QString & clazzName, 00090 const QString & baseURL, const QString & user, 00091 const QString & password, const QString & authname, 00092 const QString & codeBase, const QString & jarFile, 00093 QSize size, const QMap<QString, QString>& params, 00094 const QString & windowTitle ); 00095 00099 void initApplet( int contextId, int appletId ); 00100 00104 void destroyApplet( int contextId, int appletId ); 00105 00109 void startApplet( int contextId, int appletId ); 00110 00114 void stopApplet( int contextId, int appletId ); 00115 00119 void showConsole(); 00120 00125 void sendURLData( int loaderID, int code, const QByteArray& data ); 00129 void removeDataJob( int loaderID ); 00130 00134 void quit(); 00135 KJavaProcess* javaProcess() { return process; } 00136 00137 QString appletLabel(); 00138 00139 void waitForReturnData(JSStackFrame *); 00140 void endWaitForReturnData(); 00141 00142 bool getMember(QStringList & args, QStringList & ret_args); 00143 bool putMember(QStringList & args); 00144 bool callMember(QStringList & args, QStringList & ret_args); 00145 void derefObject(QStringList & args); 00146 00147 bool usingKIO(); 00148 protected: 00149 void setupJava( KJavaProcess* p ); 00150 00151 KJavaProcess* process; 00152 00153 protected Q_SLOTS: 00154 void slotJavaRequest( const QByteArray& qb ); 00155 void checkShutdown(); 00156 void timerEvent(QTimerEvent *); 00157 void killTimers(); 00158 00159 private: 00160 KJavaAppletServerPrivate* const d; 00161 00162 }; 00163 00164 00165 class PermissionDialog : public QObject 00166 { 00167 Q_OBJECT 00168 public: 00169 PermissionDialog( QWidget* ); 00170 ~PermissionDialog(); 00171 00172 QString exec( const QString & cert, const QString & perm ); 00173 00174 private Q_SLOTS: 00175 void clicked(); 00176 00177 private: 00178 QString m_button; 00179 }; 00180 00181 #endif // KJAVAAPPLETSERVER_H
KDE 4.6 API Reference