summaryrefslogtreecommitdiffstats
path: root/src/newprofilewizard.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/newprofilewizard.h')
-rw-r--r--src/newprofilewizard.h249
1 files changed, 249 insertions, 0 deletions
diff --git a/src/newprofilewizard.h b/src/newprofilewizard.h
new file mode 100644
index 0000000..770e66a
--- /dev/null
+++ b/src/newprofilewizard.h
@@ -0,0 +1,249 @@
+/***************************************************************************
+ * Copyright (C) 2004 by Christoph Thielecke *
+ * crissi99@gmx.de *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+//BEGIN INCLUDES
+#ifndef NEWPROFILEWIZARD_H
+#define NEWPROFILEWIZARD_H
+
+#include <qwizard.h>
+#include <qwidget.h>
+#include <qhbox.h>
+#include <qvbox.h>
+#include <qstring.h>
+#include <qobject.h>
+#include <qpixmap.h>
+
+
+#include "kvpncconfig.h"
+
+#include "newprofilewizardtypeselection.h"
+#include "newprofilewizardgeneral.h"
+#include "newprofilewizardciscoselection.h"
+#include "newprofilewizardciscomanually.h"
+#include "importprofiledialog.h" // PCF import
+#include "importopenvpnprofiledialog.h" //< OpenVPN import
+#include "importipsecprofiledialog.h" //< IPSec import
+#include "newprofilewizardracoon.h"
+#include "newprofilewizardfreeswan.h"
+#include "newprofilewizardopenvpn.h"
+#include "newprofilewizardopenvpnauth.h"
+#include "newprofilewizardopenvpnselection.h"
+#include "newprofilewizardpptp.h"
+#include "profilevtunoptions.h"
+#include "profilesshoptions.h"
+#include "newprofilewizardauthselection.h"
+#include "newprofilewizardpsk.h"
+#include "newprofilewizardcert.h"
+#include "newprofilewizardstart.h"
+#include "newprofilewizarduser.h"
+#include "newprofilewizardnetwork.h"
+#include "newprofilewizardnetworkroute.h"
+#include "newprofilewizardnat.h"
+#include "newprofilewizardp12certselection.h"
+#include "importcertificatedialog.h"
+#include "newprofilewizardconnectoptions.h"
+#include "newprofilewizardconnectionstatuscheck.h"
+#include "profilenetworkvirtualipoptions.h"
+#include "profilenetworkrouteoptions.h"
+
+//END INCLUDES
+
+/**
+Provides a wizard for creating a new profile
+
+@author Christoph Thielecke
+*/
+class NewProfileWizard : public QWizard
+{
+Q_OBJECT
+public:
+ NewProfileWizard(KVpncConfig* GlobalConfig);
+
+ void dataChanged( const QString & );
+ QString getName();
+ QString getProfile();
+ bool getFinished();
+ bool newProfileCreated;
+ bool daemonavailable; //< true if required is found, used for connecting after creating
+ bool connectaftercreating; //< connect if successful created
+ VpnAccountData *profileData;
+
+public slots:
+ void showPage( QWidget* page );
+ void next ();
+ void back();
+ void accept();
+ void reject();
+ void userdefinedOpenvpnPortToggeled(bool);
+ void nsCertTypeOpenvpnToggled(bool);
+ void additionalNetworkRoutesToggled(bool);
+ void addNetworkRouteClicked();
+ void delNetworkRouteClicked();
+ void pskIsInFileToggled(bool);
+ void useNatToggled(bool);
+ void udpPortToggled(bool);
+ void pingIpAfterConnectToggled(bool);
+ void useSpecialServerCertificateToggled(bool);
+ void useUserdefiniedCipherToggled(bool);
+ void useHttpProxyToggeled(bool);
+ void useTlsAuthToggled(bool);
+ void useTlsRemoteHostToggled(bool);
+ void connectionStatusCheckToggled(bool);
+ void authenticateWithUsernameAndPasswordToggled(bool);
+ void pskInputToggled(const QString& str);
+ void userpassToggled(const QString& str);
+ void usernameToggled(const QString& str);
+ void pskToggled(const QString& str);
+ void useRightNextHopToggled(bool);
+ void useLeftNextHopToggled(bool);
+ void domainNameToggled(bool);
+ void idTypeToggled();
+ void usePkcs11ProvidersToggled(bool);
+ void useSmartcardToggled(bool);
+ void useSmartcardOnCertFormateToggled(bool);
+ void detectPkcs11Ids();
+ void detectPkcs11Slots();
+ void mtuToggled(bool);
+ void mruToggled(bool);
+ void useVirtualIpAddressToggled(bool);
+ void usePortToggled(bool);
+ void useAuthenticationAlgorithmToggled(bool);
+ void useRemoteNetworkToggled(bool);
+ void useEspToogled(bool);
+ void useIkeToggled(bool);
+ void remoteIDTypeRacoonToggled(const QString&);
+ void localIDTypeRacoonToggled(const QString&);
+ void remoteIDTypeIpsecToggled(const QString&);
+ void localIDTypeIpsecToggled(const QString&);
+ void defaultRouteToggled(const QString&);
+ void ikeGroupToggled(bool);
+ void useXauthFreeswanToggled(bool);
+ void useXauthRacoonToggled(bool);
+ void tunnelDeviceTypeChanged(const QString &);
+ void useDnsServerToggled(bool);
+ void useSearchDomainInResolvConfToggled(bool);
+ void useDomainInResolvConfToggled(bool);
+ //void reject();
+
+protected:
+ QString ConnectionType;
+ QString Gateway;
+ QString ID;
+ QString Username;
+ QString UserPassword;
+ QString PreSharedKey;
+ QString ApplicationVersion;
+ QString NtDomainName;
+ QString PerfectForwardSecrecy;
+ QString IkeGroup;
+ QString DnsServer; //< userdefined DNS server for pptp
+ QString Name;
+ QString Description;
+ bool saveUserPassword;
+ bool savePsk;
+ bool useApplicationVersion;
+ bool useGlobalIpsecSecret;
+ bool useIkeGroup;
+ bool useLocalPort;
+ bool useNtDomainName;
+ bool useSingleDes;
+ bool useAdvancedSettings;
+ bool usePerfectSecrecy;
+ bool useUdp; //< True if NAT-T should be used
+ bool useUdpPort; //< True if userdefined UDP port should be used
+ bool useDnsServer; //< True if userdefined DNS server should be used
+ bool useGetDnsFromPeer; //< True if DNS servers should be retrieved from peer (pptp)bool
+ bool refuse40BitEncryption; //< True if 40 bit encryption is refused (pptp)
+ bool refuse128BitEncryption; //< True if 128 bit encryption is refused (pptp)
+ bool allowStatefulMode;
+ bool useNoBsdComp;
+ bool useNoDeflate;
+ bool requireMppe; //< True if MPPE is required (pptp)
+ bool refuseEap; //< True if EAP is refused (pptp)
+ int Port;
+ int UdpPort; //< Port number of UDP port
+
+private:
+ void setupPages();
+ bool importProfile(VpnAccountData::ConnectionType ConnType);
+ bool importCertificate();
+ QHBox *page1;
+ QHBox *newprofilewizardtypeselectionpage;
+ QHBox *newprofilewizardgeneralpage;
+ QHBox *newprofilewizardciscoselectionpage;
+ QHBox *newprofilewizardciscomanuallypage;
+ QHBox *newprofilewizardracoonpage;
+ QHBox *newprofilewizardfreeswanpage;
+ QHBox *newprofilewizardfreeswanselectionpage;
+ QHBox *newprofilewizardopenvpnpage;
+ QHBox *newprofilewizardopenvpnselectionpage;
+ QHBox *newprofilewizardopenvpnauthpage;
+ QHBox *newprofilewizardpptppage;
+ QHBox *newprofilewizardvtunpage;
+ QHBox *newprofilewizardsshpage;
+ QHBox *newprofilewizardauthselectionpage;
+ QHBox *newprofilewizardpskpage;
+ QHBox *newprofilewizardcertpage;
+ QHBox *newprofilewizardp12certselectionpage;
+ QHBox *newprofilewizarduserpage;
+ QHBox *newprofilewizardnetworkpage;
+ QHBox *newprofilewizardvirtualipaddresspage;
+ QHBox *newprofilewizardnetworkroutepage;
+ QHBox *newprofilewizardnatpage;
+ QHBox *newprofilewizardconnectionstatuscheckpage;
+ QHBox *newprofilewizardconnectoptionspage;
+ QHBox *endpage;
+ NewProfileWizardTypeSelection *newprofilewizardtypeselectionpagecontent;
+ NewProfileWizardGeneral *newprofilewizardgeneralpagecontent;
+ NewProfileWizardCiscoSelection *newprofilewizardciscoselectionpagecontent;
+ NewProfileWizardCiscoManually *newprofilewizardciscomanuallypagecontent;
+ NewProfileWizardRacoon *newprofilewizardracoonpagecontent;
+ NewProfileWizardFreeswan *newprofilewizardfreeswanpagecontent;
+ NewProfileWizardOpenvpnSelection *newprofilewizardfreeswanselectionpagecontent;
+ NewProfileWizardOpenvpn *newprofilewizardopenvpnpagecontent;
+ NewProfileWizardOpenvpnAuth *newprofilewizardopenvpnauthpagecontent;
+ NewProfileWizardOpenvpnSelection *newprofilewizardopenvpnselectionpagecontent;
+ NewProfileWizardPptp *newprofilewizardpptppagecontent;
+ ProfileVtunOptions *newprofilewizardvtunpagecontent;
+ ProfileSshOptions *newprofilewizardsshpagecontent;
+ NewProfileWizardAuthSelection *newprofilewizardauthselectioncontent;
+ NewProfileWizardPsk *newprofilewizardpskcontent;
+ NewProfileWizardCert *newprofilewizardcertcontent;
+ NewProfileWizardStart *newprofilewizardstartcontent;
+ NewProfileWizardP12CertSelection *newprofilewizardp12certselectioncontent;
+ NewProfileWizardUser *newprofilewizarduserpagecontent;
+ NewProfileWizardNetwork *newprofilewizardnetworkcontent;
+ ProfileNetworkRouteOptions *newprofilewizardnetworkroutecontent;
+ NewProfileWizardNat *newprofilewizardnatcontent;
+ NewProfileWizardConnectionStatusCheck *newprofilewizardconnectionstatuscheckcontent;
+ NewProfileWizardConnectOptions *newprofilewizardconnectoptionscontent;
+ ProfileNetworkVirtualIpOptions *profilenetworkvirtualipoptionscontent;
+ KVpncConfig* GlobalConfig; //< pointer to global config class
+ QWidget* currentpage; // pointer to current page
+ QWidget* previouspage; //< pointer to previous page
+ bool finished;
+ bool enterdatamanually; //< enter data manually
+ bool useCert; //< use certificate for authentication
+ bool importOK; //< import was successful
+ QPixmap *SetupPixmap;
+ QPixmap *SetupPixmapFinal;
+
+};
+
+#endif