File indexing completed on 2024-12-01 09:37:27
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 };