Instrument Neutral Distributed Interface INDI  1.2.0
indibase.h
1 #ifndef INDIBASE_H
2 #define INDIBASE_H
3 
4 #include <stdint.h>
5 
6 #include "indiapi.h"
7 #include "indidevapi.h"
8 #include "indibasetypes.h"
9 
10 #define MAXRBUF 2048
11 
43 namespace INDI
44 {
45  class BaseMediator;
46  class BaseClient;
47  class BaseDevice;
48  class DefaultDevice;
49  class FilterInterface;
50  class GuiderInterface;
51  class FocuserInterface;
52  class DomeInterface;
53  class DustCapInterface;
54  class LightBoxInterface;
55  class CCD;
56  class Telescope;
57  class FilterWheel;
58  class Focuser;
59  class Dome;
60  class GPS;
61  class Weather;
62  class USBDevice;
63  class Property;
64  class Controller;
65  class Logger;
66 }
67 
73 {
74 public:
75 
79  virtual void newDevice(INDI::BaseDevice *dp) =0;
80 
85  virtual void removeDevice(INDI::BaseDevice *dp) =0;
86 
91  virtual void newProperty(INDI::Property *property) =0;
92 
93 
98  virtual void removeProperty(INDI::Property *property) =0;
99 
100 
104  virtual void newBLOB(IBLOB *bp) =0;
105 
109  virtual void newSwitch(ISwitchVectorProperty *svp) =0;
110 
114  virtual void newNumber(INumberVectorProperty *nvp) =0;
115 
119  virtual void newText(ITextVectorProperty *tvp) =0;
120 
124  virtual void newLight(ILightVectorProperty *lvp) =0;
125 
130  virtual void newMessage(INDI::BaseDevice *dp, int messageID) =0;
131 
134  virtual void serverConnected() =0;
135 
139  virtual void serverDisconnected(int exit_code) =0;
140 
141  virtual ~BaseMediator() {}
142 
143 };
144 
145 #endif // INDIBASE_H
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
Namespace to encapsulate INDI client, drivers, and mediator classes. Developers can subclass the base...
virtual void newMessage(INDI::BaseDevice *dp, int messageID)=0
Emmited when a new message arrives from INDI server.
Constants and Data structure definitions for the interface to the reference INDI C API implementation...
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
Meditates event notification as generated by driver and passed to clients.
Definition: indibase.h:72
virtual void serverDisconnected(int exit_code)=0
Emmited when the server gets disconnected.