Instrument Neutral Distributed Interface INDI  2.0.2
indibase.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include "indiapi.h"
5 #include "indidevapi.h"
6 #include "indibasetypes.h"
7 
8 #ifdef SWIG
9 // api version for swig
10 %include "indiapi.h"
11 #endif
12 
13 #define MAXRBUF 2048
14 
50 namespace INDI
51 {
52 class BaseMediator;
53 class BaseClient;
54 class BaseClientQt;
55 class BaseDevice;
56 class DefaultDevice;
57 class FilterInterface;
58 class RotatorInterface;
59 class GuiderInterface;
60 class FocuserInterface;
61 class WeatherInterface;
62 class SensorInterface;
63 class DomeInterface;
64 class DustCapInterface;
65 class LightBoxInterface;
66 class CCD;
67 class Spectrograph;
68 class Detector;
69 class Telescope;
70 class FilterWheel;
71 class Focuser;
72 class Rotator;
73 class Dome;
74 class GPS;
75 class Weather;
76 class USBDevice;
77 class Property;
78 class PropertySwitch;
79 class PropertyNumber;
80 class PropertyText;
81 class PropertyLight;
82 class Controller;
83 class Logger;
84 }
85 
90 {
91  public:
92  virtual ~BaseMediator() = default;
93 
94  public:
98  virtual void newDevice(INDI::BaseDevice baseDevice);
99 
103  virtual void removeDevice(INDI::BaseDevice baseDevice);
104 
105  public:
109  virtual void newProperty(INDI::Property property);
110 
114  virtual void updateProperty(INDI::Property property);
115 
119  virtual void removeProperty(INDI::Property property);
120 
121  public:
126  virtual void newMessage(INDI::BaseDevice baseDevice, int messageID);
127 
128  public:
130  virtual void serverConnected();
131 
135  virtual void serverDisconnected(int exit_code);
136 
137  public: // deprecated interface
138 #if INDI_VERSION_MAJOR < 2
142  virtual void newDevice(INDI::BaseDevice *dp); // deprecated
143 
147  virtual void removeDevice(INDI::BaseDevice *dp); // deprecated
148 
152  virtual void newProperty(INDI::Property *property); // deprecated
153 
157  virtual void removeProperty(INDI::Property *property); // deprecated
158 
162  virtual void newSwitch(ISwitchVectorProperty *svp); // deprecated
163 
167  virtual void newNumber(INumberVectorProperty *nvp); // deprecated
168 
172  virtual void newText(ITextVectorProperty *tvp); // deprecated
173 
177  virtual void newLight(ILightVectorProperty *lvp); // deprecated
178 
182  virtual void newBLOB(IBLOB *bp); // deprecated
183 
188  virtual void newMessage(INDI::BaseDevice *dp, int messageID); // deprecated
189 #endif
190 };
Definition: dome.h:33
Provides interface to implement remotely controlled dust cover.
Provides interface to implement Filter Wheel functionality.
Class to provide general functionality of a filter wheel device.
Class to provide general functionality of a focuser device.
Class to provide general functionality of a GPS device.
Provides interface to implement guider (ST4) port functionality.
Class to provide basic INDI device functionality.
Definition: basedevice.h:52
Meditates event notification as generated by driver and passed to clients.
Definition: indibase.h:90
virtual void newText(ITextVectorProperty *tvp)
Emmited when a new text value arrives from INDI server.
Definition: indibase.cpp:59
virtual void updateProperty(INDI::Property property)
Emmited when a new property value arrives from INDI server.
Definition: indibase.cpp:20
virtual ~BaseMediator()=default
virtual void removeProperty(INDI::Property property)
Emmited when a property is deleted for an INDI driver.
Definition: indibase.cpp:23
virtual void newProperty(INDI::Property property)
Emmited when a new property is created for an INDI driver.
Definition: indibase.cpp:17
virtual void serverDisconnected(int exit_code)
Emmited when the server gets disconnected.
Definition: indibase.cpp:36
virtual void newDevice(INDI::BaseDevice baseDevice)
Emmited when a new device is created from INDI server.
Definition: indibase.cpp:9
virtual void newSwitch(ISwitchVectorProperty *svp)
Emmited when a new switch value arrives from INDI server.
Definition: indibase.cpp:53
virtual void newLight(ILightVectorProperty *lvp)
Emmited when a new light value arrives from INDI server.
Definition: indibase.cpp:62
virtual void newBLOB(IBLOB *bp)
Emmited when a new property value arrives from INDI server.
Definition: indibase.cpp:65
virtual void removeDevice(INDI::BaseDevice baseDevice)
Emmited when a device is deleted from INDI server.
Definition: indibase.cpp:12
virtual void newNumber(INumberVectorProperty *nvp)
Emmited when a new number value arrives from INDI server.
Definition: indibase.cpp:56
virtual void serverConnected()
Emmited when the server is connected.
Definition: indibase.cpp:33
virtual void newMessage(INDI::BaseDevice baseDevice, int messageID)
Emmited when a new message arrives from INDI server.
Definition: indibase.cpp:28
Provides generic container for INDI properties.
Definition: indiproperty.h:48
Provides interface to implement controllable light box/switch device.
Provides interface to implement Rotator functionality.
Class to provide general functionality of a rotator device.
Class to provide general functionality of a telescope device.
Class to provide general functionality of a generic USB device.
Class to provide general functionality of a weather device.
Constants and Data structure definitions for the interface to the reference INDI C API implementation...
Interface to the reference INDI C API device implementation on the Device Driver side.
Namespace to encapsulate INDI client, drivers, and mediator classes.
One Blob (Binary Large Object) descriptor.
Light vector property descriptor.
Definition: indiapi.h:417
Number vector property descriptor.
Definition: indiapi.h:319
Switch vector property descriptor.
Definition: indiapi.h:367
Text vector property descriptor.
Definition: indiapi.h:246