// frmNewAccount.h - frmNewAccount form functions header
//
// (c) 2016-2017 Xestia Software Development.
//
// This file is part of Xestia Calendar.
//
// Xestia Calendar 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, version 3 of the license.
//
// Xestia Calendar 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 Xestia Calendar. If not, see
#ifndef __frmNewAccount__
#define __frmNewAccount__
/**
@file
Subclass of frmNewAccountADT, which is generated by wxFormBuilder.
*/
#include
#include
#include
#include "../../AppXestiaCalendar.h"
#include "../../libraries/CalendarDataStorage/CalendarDataStorage.h"
#include "../objects/CalDAV/CalDAV.h"
#include "../invalidsslcertificate/frmInvalidSSLCertificate.h"
#include "svrblist.h"
#include "dirs.h"
#include "sslcertstructs.h"
#ifdef __WIN32__
#include "win32ssl.h"
#endif
DECLARE_EVENT_TYPE(UPDATERESULTS, wxID_ANY);
DECLARE_EVENT_TYPE(RUNCALDAVTEST, wxID_ANY);
//// end generated include
/** Implementing frmNewAccountADT */
class frmNewAccount : public frmNewAccountADT
{
private:
int pageSeek = 1;
wxString serverPrefix;
bool *reloadAccountConfig = NULL;
struct NewAccountResult{
bool Connected = false;
bool SSLStatus = false;
COSSLVerified SSLVerified = COSSL_NORESULT;
bool ValidResponse = false;
bool AuthPassed = false;
bool CanProcess = false;
std::string ErrorMessage = "";
};
bool VerifyResultData(NewAccountResult *resultData);
protected:
// Handlers for frmNewAccountADT events.
void UpdateRequirements( wxCommandEvent &event );
void UpdateResults( wxCommandEvent &event );
void RunCalDAVTest( wxCommandEvent &event );
void CheckAccountName( wxCommandEvent &event );
void Navigate( wxCommandEvent& event );
void CloseWindow( wxCommandEvent& event );
void WriteAccountDetails( wxFileConfig *cfgFileIn, wxString accountType, wxString directoryName );
#if defined(__APPLE__)
int DisplayTrustPanel(CalDAV *Connection);
SecTrustResultType ProcessResultType(CalDAV *Connection);
#endif
public:
/** Constructor */
frmNewAccount( wxWindow* parent );
void SetupPointers(bool *reloadAccountInc, CalendarDataStorage *dataStorage);
DECLARE_EVENT_TABLE()
//// end generated class members
};
#endif // __frmNewAccount__