KHTML
kjavaprocess.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 KJAVAPROCESS_H 00025 #define KJAVAPROCESS_H 00026 00027 #include <kprocess.h> 00028 00040 class KJavaProcessPrivate; 00041 class KJavaProcess : public KProcess //QObject 00042 { 00043 Q_OBJECT 00044 00045 public: 00050 KJavaProcess( QObject *parent = 0 ); 00051 virtual ~KJavaProcess(); 00052 00057 bool startJava(); 00058 00062 void stopJava(); 00063 00068 bool isRunning(); 00069 00073 void setJVMPath( const QString& path ); 00074 00082 void setClasspath( const QString& classpath ); 00083 00088 void setSystemProperty( const QString& name, const QString& value ); 00089 00093 void setMainClass( const QString& clazzName ); 00094 00098 void setExtraArgs( const QString& args ); 00099 00104 void setClassArgs( const QString& classArgs ); 00105 00110 void send( char cmd_code, const QStringList& args ); 00111 00117 void send( char cmd_code, const QStringList& args, const QByteArray& data ); 00118 00122 void flushBuffers(); 00123 00124 protected Q_SLOTS: 00130 void slotReceivedData(); 00134 void slotExited(); 00135 00136 protected: 00137 virtual bool invokeJVM(); 00138 virtual void killJVM(); 00139 00140 QByteArray addArgs( char cmd_code, const QStringList& args ); 00141 void storeSize( QByteArray* buff ); 00142 00143 Q_SIGNALS: 00144 void received( const QByteArray& ); 00145 void exited( int status ); 00146 00147 private: 00148 KJavaProcessPrivate* const d; 00149 00150 }; 00151 00152 #endif // KJAVAPROCESS_H