File indexing completed on 2024-04-28 11:20:29

0001 /*
0002     SPDX-License-Identifier: GPL-2.0-or-later
0003     SPDX-FileCopyrightText: 2016 Ivan Lakhtanov <ivan.lakhtanov@gmail.com>
0004 */
0005 #pragma once
0006 
0007 #include "backend.h"
0008 
0009 /**
0010  * Backend for Julia language
0011  *
0012  * @see https://julialang.org/
0013  * @see JuliaServer
0014  */
0015 class JuliaBackend: public Cantor::Backend
0016 {
0017   Q_OBJECT
0018 public:
0019     /**
0020      * Constructs julia backend
0021      *
0022      * @param parent QObject parent. Defaults to nullptr.
0023      * @param args Additional arguments for the backend.
0024      *             Defaults to QList<QVariant>().
0025      */
0026     explicit JuliaBackend(
0027         QObject *parent = nullptr,
0028         const QList<QVariant> &args = QList<QVariant>());
0029 
0030     ~JuliaBackend() override = default;
0031 
0032     /**
0033      * @see Cantor::Backend::id
0034      */
0035     QString id() const override;
0036 
0037     /**
0038       * @see Cantor::Backend::version
0039       */
0040     QString version() const override;
0041 
0042     /**
0043      * @see Cantor::Backend::createSession
0044      */
0045     Cantor::Session *createSession() override;
0046 
0047     /**
0048      * @see Cantor::Backend::capabilities
0049      */
0050     Cantor::Backend::Capabilities capabilities() const override;
0051 
0052     /**
0053      * @see Cantor::Backend::description
0054      */
0055     QString description() const override;
0056 
0057     /**
0058      * @see Cantor::Backend::helpUrl
0059      */
0060     QUrl helpUrl() const override;
0061 
0062     /**
0063      * @see Cantor::Backend::requirementsFullfilled
0064      */
0065     bool requirementsFullfilled(QString* const reason = nullptr) const override;
0066 
0067     /**
0068      * @see Cantor::Backend::settingsWidget
0069      */
0070     QWidget *settingsWidget(QWidget *parent) const override;
0071 
0072     /**
0073      * @see Cantor::Backend::config
0074      */
0075     KConfigSkeleton *config() const override;
0076 };