Instrument Neutral Distributed Interface INDI  1.6.0
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 
44 namespace INDI
45 {
46 class BaseMediator;
47 class BaseClient;
48 class BaseClientQt;
49 class BaseDevice;
50 class DefaultDevice;
51 class FilterInterface;
52 class RotatorInterface;
53 class GuiderInterface;
54 class FocuserInterface;
55 class DomeInterface;
56 class DustCapInterface;
57 class LightBoxInterface;
58 class CCD;
59 class Detector;
60 class Telescope;
61 class FilterWheel;
62 class Focuser;
63 class Rotator;
64 class Dome;
65 class GPS;
66 class Weather;
67 class USBDevice;
68 class Property;
69 class Controller;
70 class Logger;
71 }
72 
78 {
79  public:
83  virtual void newDevice(INDI::BaseDevice *dp) = 0;
84 
89  virtual void removeDevice(INDI::BaseDevice *dp) = 0;
90 
95  virtual void newProperty(INDI::Property *property) = 0;
96 
101  virtual void removeProperty(INDI::Property *property) = 0;
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 };
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:397
virtual void removeProperty(INDI::Property *property)=0
Emmited when a property is deleted for an INDI driver.
Provides interface to implement remotely controlled dust cover.
virtual void removeDevice(INDI::BaseDevice *dp)=0
Emmited when a device is deleted from INDI server.
Provides interface to implement controllable light box/switch device.
One Blob (Binary Large Object) descriptor.
Definition: indiapi.h:423
Provides generic container for INDI properties.
Definition: indiproperty.h:33
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:347
Namespace to encapsulate INDI client, drivers, and mediator classes. Developers can subclass the base...
Class to provide general functionality of a GPS device.
virtual void newMessage(INDI::BaseDevice *dp, int messageID)=0
Emmited when a new message arrives from INDI server.
Provides interface to implement Rotator functionality.
Class to provide general functionality of a telescope device.
Definition: dome.h:30
Constants and Data structure definitions for the interface to the reference INDI C API implementation...
Number vector property descriptor.
Definition: indiapi.h:299
Provides interface to implement Filter Wheel functionality.
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 ~BaseMediator()
Definition: indibase.h:143
Provides interface to implement guider (ST4) port functionality.
virtual void serverConnected()=0
Emmited when the server is connected.
Class to provide general functionality of a rotator device.
Provides interface to implement focuser functionality.
virtual void newProperty(INDI::Property *property)=0
Emmited when a new property is created for an INDI driver.
Class to provide general functionality of a filter wheel device.
Class to provide general functionality of a generic USB device.
Text vector property descriptor.
Definition: indiapi.h:226
Class to provide general functionality of a weather device.
Class to provide general functionality of a focuser device.
Meditates event notification as generated by driver and passed to clients.
Definition: indibase.h:77
virtual void serverDisconnected(int exit_code)=0
Emmited when the server gets disconnected.