You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeedu/kstars/kstars/devicemanager.h

83 lines
2.2 KiB

/* Device Manager
Copyright (C) 2003 Jasem Mutlaq (mutlaqja@ikarustech.com)
This application is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
JM Changelog
2004-16-1: Start
*/
#ifndef DEVICEMANAGER_H
#define DEVICEMANAGER_H
#include "indielement.h"
class INDIMenu;
class INDI_P;
class INDI_D;
class TQSocketNotifier;
// INDI device manager
class DeviceManager : public TQObject
{
Q_OBJECT
public:
DeviceManager(INDIMenu *INDIparent, int inID);
~DeviceManager();
INDIMenu *parent;
TQPtrList<INDI_D> indi_dev;
int mgrID;
int serverFD;
FILE *serverFP;
LilXML *XMLParser;
TQSocketNotifier *sNotifier;
TQString host;
TQString port;
int dispatchCommand (XMLEle *root, char errmsg[]);
INDI_D * addDevice (XMLEle *dep , char errmsg[]);
INDI_D * findDev (XMLEle *root, int create, char errmsg[]);
/*****************************************************************
* Send to server
******************************************************************/
void sendNewText (INDI_P *pp);
void sendNewNumber (INDI_P *pp);
void sendNewSwitch (INDI_P *pp, int index);
void startBlob (TQString devName, TQString propName, TQString timestamp);
void sendOneBlob(TQString blobName, unsigned int blobSize, TQString blobFormat, unsigned char * blobBuffer);
void finishBlob();
/*****************************************************************
* Misc.
******************************************************************/
int delPropertyCmd (XMLEle *root, char errmsg[]);
int removeDevice (TQString devName, char errmsg[]);
INDI_D * findDev (TQString devName, char errmsg[]);
int messageCmd (XMLEle *root, char errmsg[]);
void checkMsg (XMLEle *root, INDI_D *dp);
void doMsg (XMLEle *msg , INDI_D *dp);
bool indiConnect (TQString inHost, TQString inPort);
public slots:
void dataReceived();
signals:
void newDevice();
};
#endif