#ifndef AMNEZIA_APPLICATION_H #define AMNEZIA_APPLICATION_H #include #include #include #include #include #if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) #include #else #include #endif #include #include "core/controllers/coreController.h" #include "settings.h" #include "vpnconnection.h" #define amnApp (static_cast(QCoreApplication::instance())) #if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) #define AMNEZIA_BASE_CLASS QGuiApplication #else #define AMNEZIA_BASE_CLASS QApplication #endif class AmneziaApplication : public AMNEZIA_BASE_CLASS { Q_OBJECT public: AmneziaApplication(int &argc, char *argv[]); virtual ~AmneziaApplication(); void init(); void registerTypes(); void loadFonts(); bool parseCommands(); #if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS) void startLocalServer(); #endif QQmlApplicationEngine *qmlEngine() const; QNetworkAccessManager *networkManager(); QClipboard *getClipboard(); private: QQmlApplicationEngine *m_engine {}; std::shared_ptr m_settings; QScopedPointer m_coreController; QSharedPointer m_containerProps; QSharedPointer m_protocolProps; QCommandLineParser m_parser; QSharedPointer m_vpnConnection; QThread m_vpnConnectionThread; QNetworkAccessManager *m_nam; }; #endif // AMNEZIA_APPLICATION_H