1 // frmNewAccount.h - frmNewAccount form functions header
3 // (c) 2016-2017 Xestia Software Development.
5 // This file is part of Xestia Calendar.
7 // Xestia Calendar is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
11 // Xestia Calendar is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
19 #ifndef __frmNewAccount__
20 #define __frmNewAccount__
24 Subclass of frmNewAccountADT, which is generated by wxFormBuilder.
27 #include <wx/fileconf.h>
28 #include <wx/msgdlg.h>
31 #include "../../AppXestiaCalendar.h"
33 #include "../../libraries/CalendarDataStorage/CalendarDataStorage.h"
34 #include "../objects/CalDAV/CalDAV.h"
36 #include "../invalidsslcertificate/frmInvalidSSLCertificate.h"
40 #include "sslcertstructs.h"
42 DECLARE_EVENT_TYPE(UPDATERESULTS, wxID_ANY);
43 DECLARE_EVENT_TYPE(RUNCALDAVTEST, wxID_ANY);
46 //// end generated include
48 /** Implementing frmNewAccountADT */
49 class frmNewAccount : public frmNewAccountADT
53 wxString serverPrefix;
54 bool *reloadAccountConfig = NULL;
55 struct NewAccountResult{
56 bool Connected = false;
57 bool SSLStatus = false;
58 COSSLVerified SSLVerified = COSSL_NORESULT;
59 bool ValidResponse = false;
60 bool AuthPassed = false;
61 bool CanProcess = false;
62 std::string ErrorMessage = "";
64 bool VerifyResultData(NewAccountResult *resultData);
66 // Handlers for frmNewAccountADT events.
67 void UpdateRequirements( wxCommandEvent &event );
68 void UpdateResults( wxCommandEvent &event );
69 void RunCalDAVTest( wxCommandEvent &event );
70 void CheckAccountName( wxCommandEvent &event );
71 void Navigate( wxCommandEvent& event );
72 void CloseWindow( wxCommandEvent& event );
73 void WriteAccountDetails( wxFileConfig *cfgFileIn, wxString accountType, wxString directoryName );
74 #if defined(__APPLE__)
75 int DisplayTrustPanel(ConnectionObject *Connection);
76 SecTrustResultType ProcessResultType(ConnectionObject *Connection);
80 frmNewAccount( wxWindow* parent );
81 void SetupPointers(bool *reloadAccountInc, CalendarDataStorage *dataStorage);
83 //// end generated class members
87 #endif // __frmNewAccount__