Instrument Neutral Distributed Interface INDI  1.5.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 
42 namespace INDI
43 {
44 class BaseMediator;
45 class BaseClient;
46 class BaseClientQt;
47 class BaseDevice;
48 class DefaultDevice;
49 class FilterInterface;
50 class GuiderInterface;
51 class FocuserInterface;
52 class DomeInterface;
53 class DustCapInterface;
54 class LightBoxInterface;
55 class CCD;
56 class Detector;
57 class Telescope;
58 class FilterWheel;
59 class Focuser;
60 class Dome;
61 class GPS;
62 class Weather;
63 class USBDevice;
64 class Property;
65 class Controller;
66 class Logger;
67 }
68 
74 {
75  public:
79  virtual void newDevice(INDI::BaseDevice *dp) = 0;
80 
85  virtual void removeDevice(INDI::BaseDevice *dp) = 0;
86 
91  virtual void newProperty(INDI::Property *property) = 0;
92 
97  virtual void removeProperty(INDI::Property *property) = 0;
98 
102  virtual void newBLOB(IBLOB *bp) = 0;
103 
107  virtual void newSwitch(ISwitchVectorProperty *svp) = 0;
108 
112  virtual void newNumber(INumberVectorProperty *nvp) = 0;
113 
117  virtual void newText(ITextVectorProperty *tvp) = 0;
118 
122  virtual void newLight(ILightVectorProperty *lvp) = 0;
123 
128  virtual void newMessage(INDI::BaseDevice *dp, int messageID) = 0;
129 
132  virtual void serverConnected() = 0;
133 
137  virtual void serverDisconnected(int exit_code) = 0;
138 
139  virtual ~BaseMediator() {}
140 };
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:387
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:413
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:41
Switch vector property descriptor.
Definition: indiapi.h:337
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.
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:289
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:139
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:216
Meditates event notification as generated by driver and passed to clients.
Definition: indibase.h:73
virtual void serverDisconnected(int exit_code)=0
Emmited when the server gets disconnected.