• 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
devicemanager.h
Go to the documentation of this file.
1 /* Device Manager
2  Copyright (C) 2003 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  JM Changelog
10  2004-16-1: Start
11 
12  */
13 
14 #ifndef DEVICEMANAGER_H_
15 #define DEVICEMANAGER_H_
16 
17 #include <QTcpSocket>
18 
19 class INDIMenu;
20 class INDI_P;
21 class INDI_D;
22 
23 class KProcess;
24 class QTcpSocket;
25 
26 // INDI device manager
27 class DeviceManager : public QObject
28 {
29  Q_OBJECT
30 public:
31  enum ManagerMode { M_LOCAL, M_SERVER, M_CLIENT };
32  enum { INDI_DEVICE_NOT_FOUND=-1, INDI_PROPERTY_INVALID=-2, INDI_PROPERTY_DUPLICATED = -3, INDI_DISPATCH_ERROR=-4 };
33 
34  DeviceManager(INDIMenu *INDIparent, QString inHost, uint inPort, ManagerMode inMode);
35  ~DeviceManager();
36 
37  INDIMenu *parent;
38  QList<INDI_D*> indi_dev;
39  QList<IDevice *> managed_devices;
40 
41  QTcpSocket serverSocket;
42  LilXML *XMLParser;
43  QString host;
44  uint port;
45  QString serverBuffer;
46  ManagerMode mode;
47  KProcess *serverProcess;
48 
49  int dispatchCommand (XMLEle *root, QString & errmsg);
50 
51  INDI_D * addDevice (XMLEle *dep , QString & errmsg);
52  INDI_D * findDev (XMLEle *root, int create, QString & errmsg);
53 
54  /*****************************************************************
55  * Send to server
56  ******************************************************************/
57  void sendNewText (INDI_P *pp);
58  void sendNewNumber (INDI_P *pp);
59  void sendNewSwitch (INDI_P *pp, INDI_E *lp);
60  void startBlob (const QString &devName, const QString &propName, const QString &timestamp);
61  void sendOneBlob(const QString &blobName, unsigned int blobSize, const QString &blobFormat, unsigned char * blobBuffer);
62  void finishBlob();
63 
64  /*****************************************************************
65  * Misc.
66  ******************************************************************/
67  int delPropertyCmd (XMLEle *root, QString & errmsg);
68  int removeDevice (const QString &devName, QString & errmsg);
69  INDI_D * findDev (const QString &devName, QString & errmsg);
70 
71  int messageCmd (XMLEle *root, QString & errmsg);
72  void checkMsg (XMLEle *root, INDI_D *dp);
73  void doMsg (XMLEle *msg , INDI_D *dp);
74 
75  void appendManagedDevices(QList<IDevice *> & processed_devices);
76  void startServer();
77  void stopServer();
78  void connectToServer();
79  void enableBLOB(bool enable, QString device = QString(), QString property = QString());
80 
81  QString getServerBuffer() { return serverBuffer; }
82 
83 public slots:
84  void dataReceived();
85  void connectionSuccess();
86  void connectionError();
87  void processStandardError();
88 
89 signals:
90  void newDevice(INDI_D *);
91  void deviceManagerError(DeviceManager *);
92  void newServerInput();
93 
94 };
95 
96 #endif
DeviceManager::managed_devices
QList< IDevice * > managed_devices
Definition: devicemanager.h:39
DeviceManager::dataReceived
void dataReceived()
Definition: devicemanager.cpp:213
INDI_P
Definition: indiproperty.h:38
DeviceManager::findDev
INDI_D * findDev(XMLEle *root, int create, QString &errmsg)
Definition: devicemanager.cpp:418
DeviceManager::deviceManagerError
void deviceManagerError(DeviceManager *)
DeviceManager::connectToServer
void connectToServer()
Definition: devicemanager.cpp:127
DeviceManager::DeviceManager
DeviceManager(INDIMenu *INDIparent, QString inHost, uint inPort, ManagerMode inMode)
Definition: devicemanager.cpp:52
DeviceManager::connectionError
void connectionError()
Definition: devicemanager.cpp:184
DeviceManager::serverBuffer
QString serverBuffer
Definition: devicemanager.h:45
DeviceManager::doMsg
void doMsg(XMLEle *msg, INDI_D *dp)
Definition: devicemanager.cpp:472
DeviceManager::INDI_PROPERTY_DUPLICATED
Definition: devicemanager.h:32
DeviceManager::newServerInput
void newServerInput()
DeviceManager::getServerBuffer
QString getServerBuffer()
Definition: devicemanager.h:81
INDI_E
Definition: indielement.h:44
DeviceManager::newDevice
void newDevice(INDI_D *)
DeviceManager::startBlob
void startBlob(const QString &devName, const QString &propName, const QString &timestamp)
Definition: devicemanager.cpp:571
QObject
DeviceManager::dispatchCommand
int dispatchCommand(XMLEle *root, QString &errmsg)
Definition: devicemanager.cpp:252
DeviceManager::stopServer
void stopServer()
Definition: devicemanager.cpp:122
DeviceManager::sendOneBlob
void sendOneBlob(const QString &blobName, unsigned int blobSize, const QString &blobFormat, unsigned char *blobBuffer)
Definition: devicemanager.cpp:582
INDIMenu
Definition: indimenu.h:37
DeviceManager::addDevice
INDI_D * addDevice(XMLEle *dep, QString &errmsg)
Definition: devicemanager.cpp:365
DeviceManager::processStandardError
void processStandardError()
Definition: devicemanager.cpp:204
DeviceManager::appendManagedDevices
void appendManagedDevices(QList< IDevice * > &processed_devices)
Definition: devicemanager.cpp:192
DeviceManager::M_SERVER
Definition: devicemanager.h:31
DeviceManager::mode
ManagerMode mode
Definition: devicemanager.h:46
DeviceManager::startServer
void startServer()
Definition: devicemanager.cpp:79
INDI_D
Definition: indidevice.h:30
DeviceManager::port
uint port
Definition: devicemanager.h:44
DeviceManager::serverSocket
QTcpSocket serverSocket
Definition: devicemanager.h:41
DeviceManager::~DeviceManager
~DeviceManager()
Definition: devicemanager.cpp:62
DeviceManager::INDI_PROPERTY_INVALID
Definition: devicemanager.h:32
DeviceManager::XMLParser
LilXML * XMLParser
Definition: devicemanager.h:42
DeviceManager::enableBLOB
void enableBLOB(bool enable, QString device=QString(), QString property=QString())
Definition: devicemanager.cpp:148
DeviceManager::finishBlob
void finishBlob()
Definition: devicemanager.cpp:598
DeviceManager::M_CLIENT
Definition: devicemanager.h:31
DeviceManager::connectionSuccess
void connectionSuccess()
Definition: devicemanager.cpp:173
DeviceManager::parent
INDIMenu * parent
Definition: devicemanager.h:37
DeviceManager::sendNewSwitch
void sendNewSwitch(INDI_P *pp, INDI_E *lp)
Definition: devicemanager.cpp:555
DeviceManager::removeDevice
int removeDevice(const QString &devName, QString &errmsg)
Definition: devicemanager.cpp:326
DeviceManager::serverProcess
KProcess * serverProcess
Definition: devicemanager.h:47
DeviceManager::checkMsg
void checkMsg(XMLEle *root, INDI_D *dp)
Definition: devicemanager.cpp:459
DeviceManager::INDI_DEVICE_NOT_FOUND
Definition: devicemanager.h:32
DeviceManager::sendNewText
void sendNewText(INDI_P *pp)
Definition: devicemanager.cpp:510
DeviceManager::host
QString host
Definition: devicemanager.h:43
DeviceManager::M_LOCAL
Definition: devicemanager.h:31
DeviceManager::sendNewNumber
void sendNewNumber(INDI_P *pp)
Definition: devicemanager.cpp:531
DeviceManager::delPropertyCmd
int delPropertyCmd(XMLEle *root, QString &errmsg)
Definition: devicemanager.cpp:296
DeviceManager::indi_dev
QList< INDI_D * > indi_dev
Definition: devicemanager.h:38
DeviceManager::INDI_DISPATCH_ERROR
Definition: devicemanager.h:32
DeviceManager::messageCmd
int messageCmd(XMLEle *root, QString &errmsg)
Definition: devicemanager.cpp:450
DeviceManager
Definition: devicemanager.h:27
DeviceManager::ManagerMode
ManagerMode
Definition: devicemanager.h:31
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