Instrument Neutral Distributed Interface INDI  1.1.0
tutorial_client.h
Go to the documentation of this file.
1 /*
2  Tutorial Client
3  Copyright (C) 2010 Jasem Mutlaq (mutlaqja@ikarustech.com)
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Lesser General Public
7  License as published by the Free Software Foundation; either
8  version 2.1 of the License, or (at your option) any later version.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public
16  License along with this library; if not, write to the Free Software
17  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 
19 */
20 
21 #ifndef TUTORIAL_CLIENT_H
22 #define TUTORIAL_CLIENT_H
23 
38 #include "indidevapi.h"
39 #include "indicom.h"
40 #include "indibase/baseclient.h"
41 
42 class MyClient : public INDI::BaseClient
43 {
44  public:
45 
46  MyClient();
47  ~MyClient();
48 
49  void setTemperature();
50  void takeExposure();
51 
52 protected:
53 
54  virtual void newDevice(INDI::BaseDevice *dp);
55  virtual void removeDevice(INDI::BaseDevice *dp) {}
56  virtual void newProperty(INDI::Property *property);
57  virtual void removeProperty(INDI::Property *property) {}
58  virtual void newBLOB(IBLOB *bp);
59  virtual void newSwitch(ISwitchVectorProperty *svp) {}
60  virtual void newNumber(INumberVectorProperty *nvp);
61  virtual void newMessage(INDI::BaseDevice *dp, int messageID);
62  virtual void newText(ITextVectorProperty *tvp) {}
63  virtual void newLight(ILightVectorProperty *lvp) {}
64  virtual void serverConnected() {}
65  virtual void serverDisconnected(int exit_code) {}
66 
67 private:
68  INDI::BaseDevice * ccd_simulator;
69 
70 };
71 
72 #endif
virtual void newText(ITextVectorProperty *tvp)=0
Emmited when a new text value arrives from INDI server.
virtual void newSwitch(ISwitchVectorProperty *svp)=0
Emmited when a new switch value arrives from INDI server.
Light vector property descriptor.
Definition: indiapi.h:346
virtual void removeProperty(INDI::Property *property)=0
Emmited when a property is deleted for an INDI driver.
virtual void removeDevice(INDI::BaseDevice *dp)=0
Emmited when a device is deleted from INDI server.
One Blob (Binary Large Object) descriptor.
Definition: indiapi.h:370
virtual void newNumber(INumberVectorProperty *nvp)=0
Emmited when a new number value arrives from INDI server.
virtual void newLight(ILightVectorProperty *lvp)=0
Emmited when a new light value arrives from INDI server.
Class to provide basic INDI device functionality.
Definition: basedevice.h:45
Switch vector property descriptor.
Definition: indiapi.h:305
virtual void newMessage(INDI::BaseDevice *dp, int messageID)=0
Emmited when a new message arrives from INDI server.
Number vector property descriptor.
Definition: indiapi.h:266
virtual void newBLOB(IBLOB *bp)=0
Emmited when a new BLOB value arrives from INDI server.
Interface to the reference INDI C API device implementation on the Device Driver side.
virtual void newDevice(INDI::BaseDevice *dp)=0
Emmited when a new device is created from INDI server.
virtual void serverConnected()=0
Emmited when the server is connected.
virtual void newProperty(INDI::Property *property)=0
Emmited when a new property is created for an INDI driver.
Text vector property descriptor.
Definition: indiapi.h:210
Class to provide basic client functionality.
Definition: baseclient.h:54
Implementations for common driver routines.
virtual void serverDisconnected(int exit_code)=0
Emmited when the server gets disconnected.