• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

kstars

  • sources
  • kde-4.12
  • kdeedu
  • kstars
  • kstars
  • indi
indilistener.h
Go to the documentation of this file.
1 /* INDI Listener
2  Copyright (C) 2012 Jasem Mutlaq (mutlaqja@ikarustech.com)
3 
4  This application is free software; you can redistribute it and/or
5  modify it under the terms of the GNU General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 
9  Handle INDI Standard properties.
10  */
11 
12 #ifndef INDILISETNER_H
13 #define INDILISETNER_H
14 
15 #include <indiproperty.h>
16 #include <QObject>
17 
18 #include "indi/indistd.h"
19 
20 class ClientManager;
21 class FITSViewer;
22 class DriverInfo;
23 class DeviceInfo;
24 
25 class INDIListener : public QObject
26 {
27  Q_OBJECT
28 public:
29 
30  static INDIListener *Instance();
31 
32  void addClient(ClientManager *cm);
33  void removeClient(ClientManager *cm);
34 
35  void setISOMode(bool enable) { ISOMode = enable; }
36  void setBatchMode(bool enable) { batchMode = enable; }
37 
38  QList<ISD::GDInterface *> getDevices() { return devices; }
39 
40  int size() { return devices.size(); }
41 
42  bool isStandardProperty(const QString &name);
43 
44  ISD::GDInterface * getDevice(const QString &name);
45 
46  private:
47  INDIListener();
48  static INDIListener * _INDIListener;
49  QList<ClientManager *> clients;
50  QList<ISD::GDInterface *> devices;
51  QList<ISD::ST4*> st4Devices;
52 
53  bool batchMode;
54  bool ISOMode;
55 
56  FITSViewer * fv;
57 
58 public slots:
59 
60  void registerProperty(INDI::Property *prop);
61  void removeProperty(INDI::Property *prop);
62  void processDevice(DeviceInfo *dv);
63  void processSwitch(ISwitchVectorProperty *svp);
64  void processText(ITextVectorProperty* tvp);
65  void processNumber(INumberVectorProperty *nvp);
66  void processLight(ILightVectorProperty *lvp);
67  void processBLOB(IBLOB *bp);
68  void removeDevice(DeviceInfo *dv);
69 
70 signals:
71  void newDevice(ISD::GDInterface*);
72  void newTelescope(ISD::GDInterface *);
73  void newCCD(ISD::GDInterface *);
74  void newFilter(ISD::GDInterface *);
75  void newFocuser(ISD::GDInterface *);
76  void newST4(ISD::ST4*);
77  void deviceRemoved(ISD::GDInterface *);
78 
79 
80 };
81 
82 #endif // INDILISETNER_H
INDIListener::deviceRemoved
void deviceRemoved(ISD::GDInterface *)
INDIListener::newFilter
void newFilter(ISD::GDInterface *)
INDIListener::size
int size()
Definition: indilistener.h:40
INDIListener::Instance
static INDIListener * Instance()
Definition: indilistener.cpp:46
INDIListener::processSwitch
void processSwitch(ISwitchVectorProperty *svp)
Definition: indilistener.cpp:220
INDIListener::removeProperty
void removeProperty(INDI::Property *prop)
Definition: indilistener.cpp:204
QObject
INDIListener::removeDevice
void removeDevice(DeviceInfo *dv)
Definition: indilistener.cpp:130
INDIListener::addClient
void addClient(ClientManager *cm)
Definition: indilistener.cpp:79
INDIListener::newFocuser
void newFocuser(ISD::GDInterface *)
INDIListener::getDevice
ISD::GDInterface * getDevice(const QString &name)
Definition: indilistener.cpp:70
INDIListener::newST4
void newST4(ISD::ST4 *)
INDIListener::processBLOB
void processBLOB(IBLOB *bp)
Definition: indilistener.cpp:271
INDIListener::isStandardProperty
bool isStandardProperty(const QString &name)
Definition: indilistener.cpp:61
INDIListener::getDevices
QList< ISD::GDInterface * > getDevices()
Definition: indilistener.h:38
DriverInfo
Definition: driverinfo.h:24
INDIListener::newDevice
void newDevice(ISD::GDInterface *)
INDIListener::newTelescope
void newTelescope(ISD::GDInterface *)
ClientManager
Definition: clientmanager.h:22
INDIListener
Definition: indilistener.h:25
INDIListener::processText
void processText(ITextVectorProperty *tvp)
Definition: indilistener.cpp:246
INDIListener::processNumber
void processNumber(INumberVectorProperty *nvp)
Definition: indilistener.cpp:234
INDIListener::setBatchMode
void setBatchMode(bool enable)
Definition: indilistener.h:36
ISD::ST4
Definition: indistd.h:195
indistd.h
INDIListener::removeClient
void removeClient(ClientManager *cm)
Definition: indilistener.cpp:100
INDIListener::setISOMode
void setISOMode(bool enable)
Definition: indilistener.h:35
INDIListener::processLight
void processLight(ILightVectorProperty *lvp)
Definition: indilistener.cpp:258
indiproperty.h
DeviceInfo
Definition: deviceinfo.h:18
FITSViewer
Definition: fitsviewer.h:51
INDIListener::newCCD
void newCCD(ISD::GDInterface *)
ISD::GDInterface
Definition: indistd.h:48
INDIListener::registerProperty
void registerProperty(INDI::Property *prop)
Definition: indilistener.cpp:147
INDIListener::processDevice
void processDevice(DeviceInfo *dv)
Definition: indilistener.cpp:117
QList
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:36:19 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kstars

Skip menu "kstars"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal