Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
macOS: Implemented support for adding, editing and deleting a CalDAV account
[xestiacalendar/.git] / source / forms / newaccount / frmNewAccount.h
1 // frmNewAccount.h - frmNewAccount form functions header
2 //
3 // (c) 2016-2017 Xestia Software Development.
4 //
5 // This file is part of Xestia Calendar.
6 //
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.
10 //
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.
15 //
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__
22 /**
23 @file
24 Subclass of frmNewAccountADT, which is generated by wxFormBuilder.
25 */
27 #include <wx/fileconf.h>
28 #include <wx/msgdlg.h>
29 #include <string>
31 #include "../../AppXestiaCalendar.h"
33 #include "../../libraries/CalendarDataStorage/CalendarDataStorage.h"
34 #include "../objects/CalDAV/CalDAV.h"
36 #include "../invalidsslcertificate/frmInvalidSSLCertificate.h"
38 #include "svrblist.h"
39 #include "dirs.h"
40 #include "sslcertstructs.h"
42 #ifdef __WIN32__
43 #include "win32ssl.h"
44 #endif
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
54 {
55         private:
56                 int pageSeek = 1;
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 = "";
67                 };
68                 bool VerifyResultData(NewAccountResult *resultData);
69         protected:
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);
81 #endif
82         public:
83                 /** Constructor */
84                 frmNewAccount( wxWindow* parent );
85                 void SetupPointers(bool *reloadAccountInc, CalendarDataStorage *dataStorage);
86                 DECLARE_EVENT_TABLE()
87         //// end generated class members
88         
89 };
91 #endif // __frmNewAccount__
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy