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"
46 DECLARE_EVENT_TYPE(UPDATERESULTS, wxID_ANY);
47 DECLARE_EVENT_TYPE(RUNCALDAVTEST, wxID_ANY);
50 //// end generated include
52 /** Implementing frmNewAccountADT */
53 class frmNewAccount : public frmNewAccountADT
57 wxString serverPrefix;
58 bool *reloadAccountConfig = NULL;
59 struct NewAccountResult{
60 bool Connected = false;
61 bool SSLStatus = false;
62 COSSLVerified SSLVerified = COSSL_NORESULT;
63 bool ValidResponse = false;
64 bool AuthPassed = false;
65 bool CanProcess = false;
66 std::string ErrorMessage = "";
68 bool VerifyResultData(NewAccountResult *resultData);
70 // Handlers for frmNewAccountADT events.
71 void UpdateRequirements( wxCommandEvent &event );
72 void UpdateResults( wxCommandEvent &event );
73 void RunCalDAVTest( wxCommandEvent &event );
74 void CheckAccountName( wxCommandEvent &event );
75 void Navigate( wxCommandEvent& event );
76 void CloseWindow( wxCommandEvent& event );
77 void WriteAccountDetails( wxFileConfig *cfgFileIn, wxString accountType, wxString directoryName );
78 #if defined(__APPLE__)
79 int DisplayTrustPanel(CalDAV *Connection);
80 SecTrustResultType ProcessResultType(CalDAV *Connection);
84 frmNewAccount( wxWindow* parent );
85 void SetupPointers(bool *reloadAccountInc, CalendarDataStorage *dataStorage);
87 //// end generated class members
91 #endif // __frmNewAccount__