19class DeviceManager :
public QObject
31 INDI_DEVICE_NOT_FOUND = -1,
32 INDI_PROPERTY_INVALID = -2,
33 INDI_PROPERTY_DUPLICATED = -3,
34 INDI_DISPATCH_ERROR = -4
37 DeviceManager(INDIMenu *INDIparent, QString inHost, uint inPort, ManagerMode inMode);
41 QList<INDI_D *> indi_dev;
42 QList<IDevice *> managed_devices;
44 QTcpSocket serverSocket;
50 KProcess *serverProcess;
52 int dispatchCommand(XMLEle *root, QString &errmsg);
54 INDI_D *addDevice(XMLEle *dep, QString &errmsg);
55 INDI_D *findDev(XMLEle *root,
int create, QString &errmsg);
60 void sendNewText(INDI_P *pp);
61 void sendNewNumber(INDI_P *pp);
62 void sendNewSwitch(INDI_P *pp, INDI_E *lp);
63 void startBlob(
const QString &devName,
const QString &propName,
const QString ×tamp);
64 void sendOneBlob(
const QString &blobName,
unsigned int blobSize,
const QString &blobFormat,
65 unsigned char *blobBuffer);
71 int delPropertyCmd(XMLEle *root, QString &errmsg);
72 int removeDevice(
const QString &devName, QString &errmsg);
73 INDI_D *findDev(
const QString &devName, QString &errmsg);
75 int messageCmd(XMLEle *root, QString &errmsg);
76 void checkMsg(XMLEle *root, INDI_D *dp);
77 void doMsg(XMLEle *msg, INDI_D *dp);
79 void appendManagedDevices(QList<IDevice *> &processed_devices);
82 void connectToServer();
83 void enableBLOB(
bool enable, QString device = QString(), QString
property = QString());
85 QString getServerBuffer() {
return serverBuffer; }
89 void connectionSuccess();
90 void connectionError();
91 void processStandardError();
94 void newDevice(INDI_D *);
95 void deviceManagerError(DeviceManager *);
96 void newServerInput();
INDI_D represents an INDI GUI Device.
INDI_P represents a single INDI property (Switch, Text, Number, Light, or BLOB).
QVariant property(const char *name) const const