kstars
indistd.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef INDISTD_H
00013 #define INDISTD_H
00014
00015 #include <qobject.h>
00016 #include <indi/lilxml.h>
00017 #include <kfileitem.h>
00018
00019 class INDI_E;
00020 class INDI_P;
00021 class INDI_D;
00022 class KStars;
00023 class SkyObject;
00024 class StreamWG;
00025 class CCDPreviewWG;
00026 class QSocketNotifier;
00027 class KProgressDialog;
00028 class KDirLister;
00029 class SkyObject;
00030
00031
00032
00033 class INDIStdDevice : public QObject
00034 {
00035 Q_OBJECT
00036 public:
00037 INDIStdDevice(INDI_D *associatedDevice, KStars * kswPtr);
00038 ~INDIStdDevice();
00039
00040 KStars *ksw;
00041 INDI_D *dp;
00042
00043 StreamWG *streamWindow;
00044 CCDPreviewWG *CCDPreviewWindow;
00045 SkyObject *currentObject;
00046 QTimer *devTimer;
00047 KProgressDialog *downloadDialog;
00048
00049
00050 enum DTypes { DATA_FITS, DATA_STREAM, DATA_OTHER, DATA_CCDPREVIEW };
00051
00052 void setTextValue(INDI_P *pp);
00053 void setLabelState(INDI_P *pp);
00054 void registerProperty(INDI_P *pp);
00055 void handleBLOB(unsigned char *buffer, int bufferSize, QString dataFormat);
00056
00057
00058 void initDeviceOptions();
00059 void handleDevCounter();
00060 bool handleNonSidereal();
00061 void streamDisabled();
00062
00063
00064
00065 void updateTime();
00066
00067 void updateLocation();
00068
00069 void updateSequencePrefix(QString newPrefix);
00070
00071 int dataType;
00072 int initDevCounter;
00073 QString dataExt;
00074 LilXML *parser;
00075
00076 QString seqPrefix;
00077 int seqCount;
00078 bool batchMode;
00079 bool ISOMode;
00080 KDirLister *seqLister;
00081 SkyObject *telescopeSkyObject;
00082
00083 public slots:
00084 void timerDone();
00085
00086 protected slots:
00087 void checkSeqBoundary(const KFileItemList & items);
00088
00089 signals:
00090 void linkRejected();
00091 void linkAccepted();
00092 void FITSReceived(QString deviceLabel);
00093
00094 };
00095
00096
00097 class INDIStdProperty : public QObject
00098 {
00099 Q_OBJECT
00100 public:
00101 INDIStdProperty(INDI_P *associatedProperty, KStars * kswPtr, INDIStdDevice *stdDevPtr);
00102 ~INDIStdProperty();
00103
00104 KStars *ksw;
00105 INDIStdDevice *stdDev;
00106 INDI_P *pp;
00107
00108
00109 bool convertSwitch(int switchIndex, INDI_E *lp);
00110 bool newSwitch(int id, INDI_E* el);
00111
00112 public slots:
00113 void newTime();
00114 void newText();
00115
00116
00117
00118 };
00119
00120 #endif