khtml Library API Documentation

kjavaappletserver.h

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., 59 Temple Place - Suite 330,
00021  * Boston, MA 02111-1307, USA.
00022  */
00023 
00024 #ifndef KJAVAAPPLETSERVER_H
00025 #define KJAVAAPPLETSERVER_H
00026 
00027 #include <kjavaprocess.h>
00028 #include <qobject.h>
00029 #include <qmap.h>
00030 
00031 
00039 class KJavaAppletContext;
00040 class KJavaAppletServerPrivate;
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     void createApplet( int contextId, int appletId,
00089                        const QString name, const QString clazzName,
00090                        const QString baseURL, const QString codeBase,
00091                        const QString jarFile, QSize size,
00092                        const QMap<QString, QString>& params,
00093                        const QString windowTitle );
00094 
00098     void initApplet( int contextId, int appletId );
00099 
00103     void destroyApplet( int contextId, int appletId );
00104 
00108     void startApplet( int contextId, int appletId );
00109 
00113     void stopApplet( int contextId, int appletId );
00114 
00120     void sendURLData( const QString& loaderID, const QString& url,
00121                       const QByteArray& data );
00122 
00126     void quit();
00127 
00128     QString appletLabel();
00129 
00130     bool getMember(int contextId, int appletId, const unsigned long, const QString &, int &, unsigned long &, QString &);
00131     bool putMember(int contextId, int appletId, const unsigned long, const QString &, const QString &);
00132     bool callMember(int contextId, int appletId, const unsigned long, const QString &, const QStringList &, int &, unsigned long &, QString &);
00133     void derefObject(int contextId, int appletId, const unsigned long id);
00134 protected:
00135     void setupJava( KJavaProcess* p );
00136 
00137     KJavaProcess* process;
00138 
00139 protected slots:
00140     void slotJavaRequest( const QByteArray& qb );
00141     void checkShutdown();
00142 
00143 private:
00144     KJavaAppletServerPrivate* d;
00145 
00146 };
00147 
00148 #endif // KJAVAAPPLETSERVER_H
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.0.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Oct 8 12:22:40 2003 by doxygen 1.2.18 written by Dimitri van Heesch, © 1997-2001