Instrument Neutral Distributed Interface INDI  1.4.1
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 
44 namespace INDI
45 {
46  class BaseMediator;
47  class BaseClient;
48  class BaseClientQt;
49  class BaseDevice;
50  class DefaultDevice;
51  class FilterInterface;
52  class GuiderInterface;
53  class FocuserInterface;
54  class DomeInterface;
55  class DustCapInterface;
56  class LightBoxInterface;
57  class CCD;
58  class Telescope;
59  class FilterWheel;
60  class Focuser;
61  class Dome;
62  class GPS;
63  class Weather;
64  class USBDevice;
65  class Property;
66  class Controller;
67  class Logger;
68 }
69 
75 {
76 public:
77 
81  virtual void newDevice(INDI::BaseDevice *dp) =0;
82 
87  virtual void removeDevice(INDI::BaseDevice *dp) =0;
88 
93  virtual void newProperty(INDI::Property *property) =0;
94 
95 
100  virtual void removeProperty(INDI::Property *property) =0;
101 
102 
106  virtual void newBLOB(IBLOB *bp) =0;
107 
111  virtual void newSwitch(ISwitchVectorProperty *svp) =0;
112 
116  virtual void newNumber(INumberVectorProperty *nvp) =0;
117 
121  virtual void newText(ITextVectorProperty *tvp) =0;
122 
126  virtual void newLight(ILightVectorProperty *lvp) =0;
127 
132  virtual void newMessage(INDI::BaseDevice *dp, int messageID) =0;
133 
136  virtual void serverConnected() =0;
137 
141  virtual void serverDisconnected(int exit_code) =0;
142 
143  virtual ~BaseMediator() {}
144 
145 };
146 
147 #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:345
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:369
Provides generic container for INDI properties.
Definition: indiproperty.h:35
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:44
Switch vector property descriptor.
Definition: indiapi.h:304
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:265
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:209
Meditates event notification as generated by driver and passed to clients.
Definition: indibase.h:74
virtual void serverDisconnected(int exit_code)=0
Emmited when the server gets disconnected.