Instrument Neutral Distributed Interface INDI 2.2.5
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
54namespace INDI
55{
56class BaseMediator;
57class BaseClient;
58class BaseClientQt;
59class BaseDevice;
60class DefaultDevice;
61class FilterInterface;
63class GuiderInterface;
64class GPSInterface;
65class FocuserInterface;
66class WeatherInterface;
67class SensorInterface;
68class DomeInterface;
71class OutputInterface;
72class InputInterface;
73class PowerInterface;
74class CCD;
75class Spectrograph;
76class Detector;
77class Telescope;
78class FilterWheel;
79class Focuser;
80class Rotator;
81class Dome;
82class GPS;
83class Weather;
84class USBDevice;
85class Property;
86class PropertySwitch;
87class PropertyNumber;
88class PropertyText;
89class PropertyLight;
90class Controller;
91class Logger;
92}
93
98{
99 public:
100 virtual ~BaseMediator() = default;
101
102 public:
106 virtual void newDevice(INDI::BaseDevice baseDevice);
107
111 virtual void removeDevice(INDI::BaseDevice baseDevice);
112
113 public:
117 virtual void newProperty(INDI::Property property);
118
122 virtual void updateProperty(INDI::Property property);
123
127 virtual void removeProperty(INDI::Property property);
128
129 public:
134 virtual void newMessage(INDI::BaseDevice baseDevice, int messageID);
135
136 public:
138 virtual void serverConnected();
139
143 virtual void serverDisconnected(int exit_code);
144
145 public: // deprecated interface
146#if INDI_VERSION_MAJOR < 2 && !defined(SWIG)
150 virtual void newDevice(INDI::BaseDevice *dp); // deprecated
151
155 virtual void removeDevice(INDI::BaseDevice *dp); // deprecated
156
160 virtual void newProperty(INDI::Property *property); // deprecated
161
165 virtual void removeProperty(INDI::Property *property); // deprecated
166
170 virtual void newSwitch(ISwitchVectorProperty *svp); // deprecated
171
175 virtual void newNumber(INumberVectorProperty *nvp); // deprecated
176
180 virtual void newText(ITextVectorProperty *tvp); // deprecated
181
185 virtual void newLight(ILightVectorProperty *lvp); // deprecated
186
190 virtual void newBLOB(IBLOB *bp); // deprecated
191
196 virtual void newMessage(INDI::BaseDevice *dp, int messageID); // deprecated
197#endif
198};
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:98
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.
Provides interface to implement Digital/Analog input functionality.
Provides interface to implement controllable light box/switch device.
Provides interface to implement Digital Boolean Output (On/Off) functionality.
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:415
Number vector property descriptor.
Definition indiapi.h:317
Switch vector property descriptor.
Definition indiapi.h:365
Text vector property descriptor.
Definition indiapi.h:244