• 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
drivermanager.h
Go to the documentation of this file.
1 /* INDI Driver Manager
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  */
10 
11 #ifndef DriverManager_H_
12 #define DriverManager_H_
13 
14 #include <QFrame>
15 #include <QHash>
16 #include <qstringlist.h>
17 #include <kdialog.h>
18 #include <unistd.h>
19 
20 #include <lilxml.h>
21 #include "ui_drivermanager.h"
22 
23 #include "indicommon.h"
24 
25 class QTreeWidgetItem;
26 class QIcon;
27 
28 class DriverManager;
29 class ServerManager;
30 class ClientManager;
31 class DriverInfo;
32 
33 
34 
35 class DriverManagerUI : public QFrame, public Ui::DriverManager
36 {
37  Q_OBJECT
38 
39 public:
40  DriverManagerUI(QWidget *parent=0);
41 
42  QIcon runningPix;
43  QIcon stopPix;
44  QIcon connected;
45  QIcon disconnected;
46  QIcon localMode;
47  QIcon serverMode;
48 
49 public slots:
50  void makePortEditable(QTreeWidgetItem* selectedItem, int column);
51 
52 };
53 
54 class DriverManager : public KDialog
55 {
56 
57  Q_OBJECT
58 
59 public:
60 
61  static DriverManager *Instance();
62 
63  enum { LOCAL_NAME_COLUMN=0, LOCAL_STATUS_COLUMN, LOCAL_MODE_COLUMN, LOCAL_VERSION_COLUMN, LOCAL_PORT_COLUMN };
64  enum { HOST_STATUS_COLUMN=0, HOST_NAME_COLUMN, HOST_PORT_COLUMN };
65 
66 
67  bool readXMLDrivers();
68  bool readINDIHosts();
69  void processXMLDriver(QString & driverName);
70  bool buildDeviceGroup (XMLEle *root, char errmsg[]);
71  bool buildDriverElement(XMLEle *root, QTreeWidgetItem *DGroup, DeviceFamily groupType, char errmsg[]);
72 
73  QTreeWidgetItem *lastGroup;
74  QTreeWidgetItem *lastDevice;
75 
76  int currentPort;
77 
78  //DriverInfo::XMLSource xmlSource;
79  DriverSource driverSource;
80 
81  int getINDIPort(int customPort);
82  bool isDeviceRunning(const QString &deviceLabel);
83 
84  void saveHosts();
85 
86  void processLocalTree(bool dState);
87  void processRemoteTree(bool dState);
88 
89  DriverInfo * findDriverByName(const QString &name);
90  DriverInfo * findDriverByLabel(const QString &label);
91 
92  ClientManager *getClientManager(DriverInfo *dv);
93 
94  const QList<DriverInfo *> & getDrivers() { return driversList; }
95 
96  const QStringList & getDriversStringList() { return driversStringList; }
97 
98  void getUniqueHosts(QList<DriverInfo*> & dList, QList < QList<DriverInfo *> > & uHosts);
99 
100  bool startDevices(QList<DriverInfo*> & dList);
101  void stopDevices(const QList<DriverInfo*> & dList);
102 
103  bool connectRemoteHost(DriverInfo *dv);
104  bool disconnectRemoteHost(DriverInfo *dv);
105 
106  QString getUniqueDeviceLabel(const QString &label);
107 
108  void clearServers();
109 
110 private:
111  DriverManager();
112 
113  static DriverManager * _DriverManager;
114 
115  ServerMode connectionMode;
116  DriverManagerUI *ui;
117 
118  QList<DriverInfo *> driversList;
119  QList<ServerManager *> servers;
120  QList<ClientManager *> clients;
121  QStringList driversStringList;
122 
123 public slots:
124  //void enableDevice(INDI_D *device);
125  //void disableDevice(INDI_D *device);
126 
127  void resizeDeviceColumn();
128  void updateLocalTab();
129  void updateClientTab();
130 
131  void updateMenuActions();
132 
133  void addINDIHost();
134  void modifyINDIHost();
135  void removeINDIHost();
136  void activateRunService();
137  void activateStopService();
138  void activateHostConnection();
139  void activateHostDisconnection();
140 
141  void updateCustomDrivers();
142 
143  void processClientTermination(ClientManager *client);
144  void processServerTermination(ServerManager* server);
145 
146  void processDeviceStatus(DriverInfo *dv);
147 
148 signals:
149  void clientTerminated(ClientManager *);
150  void serverTerminated(ServerManager *);
151 
152  /*
153 signals:
154  void newDevice();
155  void newTelescope();
156  void newCCD();
157  */
158 };
159 
160 #endif
DriverManager::currentPort
int currentPort
Definition: drivermanager.h:76
DriverManager::HOST_STATUS_COLUMN
Definition: drivermanager.h:64
DriverManager::removeINDIHost
void removeINDIHost()
Definition: drivermanager.cpp:1294
DriverManager::lastGroup
QTreeWidgetItem * lastGroup
Definition: drivermanager.h:73
DriverManager::resizeDeviceColumn
void resizeDeviceColumn()
Definition: drivermanager.cpp:733
DeviceFamily
DeviceFamily
Definition: indicommon.h:66
DriverManager::disconnectRemoteHost
bool disconnectRemoteHost(DriverInfo *dv)
Definition: drivermanager.cpp:711
DriverManagerUI::disconnected
QIcon disconnected
Definition: drivermanager.h:45
ServerManager
Definition: servermanager.h:26
DriverSource
DriverSource
Definition: indicommon.h:15
DriverManager::stopDevices
void stopDevices(const QList< DriverInfo * > &dList)
Definition: drivermanager.cpp:410
QWidget
DriverManager::lastDevice
QTreeWidgetItem * lastDevice
Definition: drivermanager.h:74
DriverManager::readXMLDrivers
bool readXMLDrivers()
Definition: drivermanager.cpp:884
DriverManager::HOST_PORT_COLUMN
Definition: drivermanager.h:64
DriverManager::getUniqueHosts
void getUniqueHosts(QList< DriverInfo * > &dList, QList< QList< DriverInfo * > > &uHosts)
Definition: drivermanager.cpp:238
DriverManager::findDriverByLabel
DriverInfo * findDriverByLabel(const QString &label)
Definition: drivermanager.cpp:1372
KDialog
DriverManager::driverSource
DriverSource driverSource
Definition: drivermanager.h:79
DriverManager::activateHostConnection
void activateHostConnection()
Definition: drivermanager.cpp:475
DriverManager::clearServers
void clearServers()
Definition: drivermanager.cpp:457
DriverManagerUI::serverMode
QIcon serverMode
Definition: drivermanager.h:47
DriverManager::processServerTermination
void processServerTermination(ServerManager *server)
Definition: drivermanager.cpp:601
DriverManager::LOCAL_NAME_COLUMN
Definition: drivermanager.h:63
ServerMode
ServerMode
Definition: indicommon.h:17
DriverManager::processDeviceStatus
void processDeviceStatus(DriverInfo *dv)
Definition: drivermanager.cpp:137
DriverManager::saveHosts
void saveHosts()
Definition: drivermanager.cpp:1323
DriverManager::connectRemoteHost
bool connectRemoteHost(DriverInfo *dv)
Definition: drivermanager.cpp:657
DriverManager::HOST_NAME_COLUMN
Definition: drivermanager.h:64
DriverManagerUI::DriverManagerUI
DriverManagerUI(QWidget *parent=0)
Definition: drivermanager.cpp:60
DriverManager::buildDeviceGroup
bool buildDeviceGroup(XMLEle *root, char errmsg[])
Definition: drivermanager.cpp:969
DriverManager::buildDriverElement
bool buildDriverElement(XMLEle *root, QTreeWidgetItem *DGroup, DeviceFamily groupType, char errmsg[])
Definition: drivermanager.cpp:1038
DriverManagerUI::runningPix
QIcon runningPix
Definition: drivermanager.h:42
DriverManager::processRemoteTree
void processRemoteTree(bool dState)
Definition: drivermanager.cpp:626
DriverManager
Definition: drivermanager.h:54
DriverManager::isDeviceRunning
bool isDeviceRunning(const QString &deviceLabel)
DriverManager::activateHostDisconnection
void activateHostDisconnection()
Definition: drivermanager.cpp:480
DriverManager::getDrivers
const QList< DriverInfo * > & getDrivers()
Definition: drivermanager.h:94
DriverManager::readINDIHosts
bool readINDIHosts()
Definition: drivermanager.cpp:794
DriverManager::findDriverByName
DriverInfo * findDriverByName(const QString &name)
Definition: drivermanager.cpp:1361
DriverManager::LOCAL_VERSION_COLUMN
Definition: drivermanager.h:63
DriverManager::processXMLDriver
void processXMLDriver(QString &driverName)
Definition: drivermanager.cpp:927
DriverManager::LOCAL_MODE_COLUMN
Definition: drivermanager.h:63
DriverManager::modifyINDIHost
void modifyINDIHost()
Definition: drivermanager.cpp:1254
DriverManager::serverTerminated
void serverTerminated(ServerManager *)
DriverManager::updateLocalTab
void updateLocalTab()
Definition: drivermanager.cpp:490
DriverManager::getClientManager
ClientManager * getClientManager(DriverInfo *dv)
Definition: drivermanager.cpp:485
DriverInfo
Definition: driverinfo.h:24
DriverManagerUI::makePortEditable
void makePortEditable(QTreeWidgetItem *selectedItem, int column)
Definition: drivermanager.cpp:80
DriverManagerUI::localMode
QIcon localMode
Definition: drivermanager.h:46
DriverManager::getINDIPort
int getINDIPort(int customPort)
Definition: drivermanager.cpp:757
DriverManagerUI::stopPix
QIcon stopPix
Definition: drivermanager.h:43
DriverManager::updateCustomDrivers
void updateCustomDrivers()
Definition: drivermanager.cpp:1137
DriverManagerUI
Definition: drivermanager.h:35
ClientManager
Definition: clientmanager.h:22
DriverManager::getDriversStringList
const QStringList & getDriversStringList()
Definition: drivermanager.h:96
DriverManager::activateRunService
void activateRunService()
Definition: drivermanager.cpp:465
DriverManager::clientTerminated
void clientTerminated(ClientManager *)
DriverManager::getUniqueDeviceLabel
QString getUniqueDeviceLabel(const QString &label)
Definition: drivermanager.cpp:1383
DriverManager::processClientTermination
void processClientTermination(ClientManager *client)
Definition: drivermanager.cpp:574
DriverManager::startDevices
bool startDevices(QList< DriverInfo * > &dList)
Definition: drivermanager.cpp:291
DriverManager::updateClientTab
void updateClientTab()
Definition: drivermanager.cpp:507
DriverManager::activateStopService
void activateStopService()
Definition: drivermanager.cpp:470
DriverManager::LOCAL_STATUS_COLUMN
Definition: drivermanager.h:63
DriverManager::processLocalTree
void processLocalTree(bool dState)
Definition: drivermanager.cpp:525
DriverManager::addINDIHost
void addINDIHost()
Definition: drivermanager.cpp:1207
QFrame
indicommon.h
DriverManager::updateMenuActions
void updateMenuActions()
Definition: drivermanager.cpp:738
DriverManager::LOCAL_PORT_COLUMN
Definition: drivermanager.h:63
QList
DriverManagerUI::connected
QIcon connected
Definition: drivermanager.h:44
DriverManager::Instance
static DriverManager * Instance()
Definition: drivermanager.cpp:91
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