File indexing completed on 2024-04-21 03:44:57
0001 /* 0002 SPDX-FileCopyrightText: 2003 Jason Harris <kstars@30doradus.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QString> 0010 0011 /** 0012 * 0013 * Jason Harris 0014 **/ 0015 class ScriptFunction 0016 { 0017 public: 0018 ScriptFunction(const QString &name, const QString &desc, bool clockfcn = false, const QString &at1 = QString(), 0019 const QString &an1 = QString(), const QString &at2 = QString(), const QString &an2 = QString(), 0020 const QString &at3 = QString(), const QString &an3 = QString(), const QString &at4 = QString(), 0021 const QString &an4 = QString(), const QString &at5 = QString(), const QString &an5 = QString(), 0022 const QString &at6 = QString(), const QString &an6 = QString()); 0023 explicit ScriptFunction(ScriptFunction *sf); 0024 ~ScriptFunction() = default; 0025 0026 QString name() const { return Name; } 0027 QString prototype() const; 0028 QString description() const { return Description; } 0029 QString argType(unsigned int n) const { return ArgType[n]; } 0030 QString argName(unsigned int n) const { return ArgName[n]; } 0031 QString argVal(unsigned int n) const { return ArgVal[n]; } 0032 QString argDBusType(unsigned int n) const { return ArgDBusType[n]; } 0033 0034 void setValid(bool b) { Valid = b; } 0035 bool valid() const { return Valid; } 0036 0037 void setClockFunction(bool b = true) { ClockFunction = b; } 0038 bool isClockFunction() const { return ClockFunction; } 0039 0040 void setArg(unsigned int n, QString newVal) { ArgVal[n] = newVal; } 0041 bool checkArgs(); 0042 int numArgs() const { return NumArgs; } 0043 0044 QString scriptLine() const; 0045 0046 void setINDIProperty(QString prop) { INDIProp = prop; } 0047 QString INDIProperty() const { return INDIProp; } 0048 QString DBusType(const QString &type); 0049 0050 private: 0051 QString Name, Description; 0052 QString ArgType[6]; 0053 QString ArgDBusType[6]; 0054 QString ArgName[6]; 0055 QString ArgVal[6]; 0056 QString INDIProp; 0057 bool Valid, ClockFunction; 0058 int NumArgs; 0059 };