1 /* 2 3 Firewall Builder 4 5 Copyright (C) 2003 NetCitadel, LLC 6 7 Author: Vadim Kurland vadim@fwbuilder.org 8 9 $Id$ 10 11 This program is free software which we release under the GNU General Public 12 License. You may redistribute and/or modify this program under the terms 13 of that license as published by the Free Software Foundation; either 14 version 2 of the License, or (at your option) any later version. 15 16 This program is distributed in the hope that it will be useful, 17 but WITHOUT ANY WARRANTY; without even the implied warranty of 18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 GNU General Public License for more details. 20 21 To get a copy of the GNU General Public License, write to the Free Software 22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 23 24 */ 25 26 #ifndef _DIALOGFACTORY_HH_ 27 #define _DIALOGFACTORY_HH_ 28 29 #include "BaseObjectDialog.h" 30 31 #include <QWidget> 32 33 namespace libfwbuilder { 34 class FWObject; 35 class FWException; 36 class Firewall; 37 class Rule; 38 }; 39 40 41 class DialogFactory { 42 public: 43 44 static BaseObjectDialog *createDialog(QWidget *parent,const QString &objType); 45 46 static QWidget *createFWDialog(QWidget *parent,libfwbuilder::FWObject *o) 47 throw(libfwbuilder::FWException); 48 static QWidget *createOSDialog(QWidget *parent,libfwbuilder::FWObject *o) 49 throw(libfwbuilder::FWException); 50 static QWidget *createIfaceDialog(QWidget *parent,libfwbuilder::FWObject *o) 51 throw(libfwbuilder::FWException); 52 static QWidget *createClusterConfDialog(QWidget *parent, libfwbuilder::FWObject *o) 53 throw(libfwbuilder::FWException); 54 static QString getClusterGroupOptionsDialogName(libfwbuilder::FWObject *o); 55 static QWidget *createClusterGroupOptionsDialog(QWidget *parent, libfwbuilder::FWObject *o) 56 throw(libfwbuilder::FWException); 57 58 static std::string getActionDialogPageName(libfwbuilder::Firewall *fw, 59 libfwbuilder::Rule *rule); 60 61 }; 62 63 64 65 #endif 66