Instrument Neutral Distributed Interface INDI  1.9.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 #define MAXRBUF 2048
9 
45 namespace INDI
46 {
47 class BaseMediator;
48 class BaseClient;
49 class BaseClientQt;
50 class BaseDevice;
51 class DefaultDevice;
52 class FilterInterface;
53 class RotatorInterface;
54 class GuiderInterface;
55 class FocuserInterface;
56 class WeatherInterface;
57 class SensorInterface;
58 class DomeInterface;
59 class DustCapInterface;
60 class LightBoxInterface;
61 class CCD;
62 class Spectrograph;
63 class Detector;
64 class Telescope;
65 class FilterWheel;
66 class Focuser;
67 class Rotator;
68 class Dome;
69 class GPS;
70 class Weather;
71 class USBDevice;
72 class Property;
73 class Controller;
74 class Logger;
75 }
76 
81 {
82  public:
83  virtual ~BaseMediator() = default;
84 
88  virtual void newDevice(INDI::BaseDevice *dp) = 0;
89 
93  virtual void removeDevice(INDI::BaseDevice *dp) = 0;
94 
98  virtual void newProperty(INDI::Property *property) = 0;
99 
103  virtual void removeProperty(INDI::Property *property) = 0;
104 
108  virtual void newBLOB(IBLOB *bp) = 0;
109 
113  virtual void newSwitch(ISwitchVectorProperty *svp) = 0;
114 
118  virtual void newNumber(INumberVectorProperty *nvp) = 0;
119 
123  virtual void newText(ITextVectorProperty *tvp) = 0;
124 
128  virtual void newLight(ILightVectorProperty *lvp) = 0;
129 
134  virtual void newMessage(INDI::BaseDevice *dp, int messageID) = 0;
135 
137  virtual void serverConnected() = 0;
138 
142  virtual void serverDisconnected(int exit_code) = 0;
143 };
Dome
Definition: dome.h:30
INDI::BaseMediator::serverConnected
virtual void serverConnected()=0
Emmited when the server is connected.
INDI::BaseMediator::~BaseMediator
virtual ~BaseMediator()=default
INDI::BaseMediator::newProperty
virtual void newProperty(INDI::Property *property)=0
Emmited when a new property is created for an INDI driver.
_ILightVectorProperty
Light vector property descriptor.
Definition: indiapi.h:415
RotatorInterface
Provides interface to implement Rotator functionality.
indiapi.h
Constants and Data structure definitions for the interface to the reference INDI C API implementation...
FilterWheel
Class to provide general functionality of a filter wheel device.
INDI::BaseMediator::newMessage
virtual void newMessage(INDI::BaseDevice *dp, int messageID)=0
Emmited when a new message arrives from INDI server.
Focuser
Class to provide general functionality of a focuser device.
Rotator
Class to provide general functionality of a rotator device.
GPS
Class to provide general functionality of a GPS device.
INDI::BaseMediator::serverDisconnected
virtual void serverDisconnected(int exit_code)=0
Emmited when the server gets disconnected.
INDI::Property
Provides generic container for INDI properties.
Definition: indiproperty.h:43
Telescope
Class to provide general functionality of a telescope device.
_ITextVectorProperty
Text vector property descriptor.
Definition: indiapi.h:244
INDI::BaseMediator::newLight
virtual void newLight(ILightVectorProperty *lvp)=0
Emmited when a new light value arrives from INDI server.
_INumberVectorProperty
Number vector property descriptor.
Definition: indiapi.h:317
indidevapi.h
Interface to the reference INDI C API device implementation on the Device Driver side.
Property
Definition: indiserver.c:100
LightBoxInterface
Provides interface to implement controllable light box/switch device.
indibasetypes.h
INDI::BaseMediator
Meditates event notification as generated by driver and passed to clients.
Definition: indibase.h:80
FilterInterface
Provides interface to implement Filter Wheel functionality.
Weather
Class to provide general functionality of a weather device.
INDI::BaseMediator::removeDevice
virtual void removeDevice(INDI::BaseDevice *dp)=0
Emmited when a device is deleted from INDI server.
DustCapInterface
Provides interface to implement remotely controlled dust cover.
GuiderInterface
Provides interface to implement guider (ST4) port functionality.
INDI::BaseMediator::newNumber
virtual void newNumber(INumberVectorProperty *nvp)=0
Emmited when a new number value arrives from INDI server.
INDI::BaseMediator::removeProperty
virtual void removeProperty(INDI::Property *property)=0
Emmited when a property is deleted for an INDI driver.
USBDevice
Class to provide general functionality of a generic USB device.
INDI
Namespace to encapsulate INDI client, drivers, and mediator classes.
Definition: AlignmentSubsystemForClients.cpp:11
INDI::BaseMediator::newSwitch
virtual void newSwitch(ISwitchVectorProperty *svp)=0
Emmited when a new switch value arrives from INDI server.
INDI::BaseMediator::newBLOB
virtual void newBLOB(IBLOB *bp)=0
Emmited when a new BLOB value arrives from INDI server.
INDI::BaseMediator::newDevice
virtual void newDevice(INDI::BaseDevice *dp)=0
Emmited when a new device is created from INDI server.
INDI::BaseDevice
Class to provide basic INDI device functionality.
Definition: basedevice.h:45
IBLOB
One Blob (Binary Large Object) descriptor.
_ISwitchVectorProperty
Switch vector property descriptor.
Definition: indiapi.h:365
INDI::BaseMediator::newText
virtual void newText(ITextVectorProperty *tvp)=0
Emmited when a new text value arrives from INDI server.