Instrument Neutral Distributed Interface INDI  1.1.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 
41 namespace INDI
42 {
43  class BaseMediator;
44  class BaseClient;
45  class BaseDevice;
46  class DefaultDevice;
47  class FilterInterface;
48  class GuiderInterface;
49  class FocuserInterface;
50  class DomeInterface;
51  class CCD;
52  class Telescope;
53  class FilterWheel;
54  class Focuser;
55  class Dome;
56  class GPS;
57  class Weather;
58  class USBDevice;
59  class Property;
60  class Controller;
61  class Logger;
62 }
63 
69 {
70 public:
71 
75  virtual void newDevice(INDI::BaseDevice *dp) =0;
76 
81  virtual void removeDevice(INDI::BaseDevice *dp) =0;
82 
87  virtual void newProperty(INDI::Property *property) =0;
88 
89 
94  virtual void removeProperty(INDI::Property *property) =0;
95 
96 
100  virtual void newBLOB(IBLOB *bp) =0;
101 
105  virtual void newSwitch(ISwitchVectorProperty *svp) =0;
106 
110  virtual void newNumber(INumberVectorProperty *nvp) =0;
111 
115  virtual void newText(ITextVectorProperty *tvp) =0;
116 
120  virtual void newLight(ILightVectorProperty *lvp) =0;
121 
126  virtual void newMessage(INDI::BaseDevice *dp, int messageID) =0;
127 
130  virtual void serverConnected() =0;
131 
135  virtual void serverDisconnected(int exit_code) =0;
136 
137  virtual ~BaseMediator() {}
138 
139 };
140 
141 #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:68
virtual void serverDisconnected(int exit_code)=0
Emmited when the server gets disconnected.