Instrument Neutral Distributed Interface INDI  0.9.9
indibase.h
1 #ifndef INDIBASE_H
2 #define INDIBASE_H
3 
4 #include "indiapi.h"
5 #include "indidevapi.h"
6 
7 #define MAXRBUF 2048
8 
35 namespace INDI
36 {
37  class BaseMediator;
38  class BaseClient;
39  class BaseDevice;
40  class DefaultDevice;
41  class FilterInterface;
42  class GuiderInterface;
43  class FocuserInterface;
44  class DomeInterface;
45  class CCD;
46  class Telescope;
47  class FilterWheel;
48  class Focuser;
49  class Dome;
50  class USBDevice;
51  class Property;
52  class Controller;
53  class Logger;
54 }
55 
57 typedef enum
58 {
59  INDI_NUMBER,
60  INDI_SWITCH,
61  INDI_TEXT,
62  INDI_LIGHT,
63  INDI_BLOB,
64  INDI_UNKNOWN
65 } INDI_TYPE;
66 
67 
73 {
74 public:
75 
79  virtual void newDevice(INDI::BaseDevice *dp) =0;
80 
85  virtual void newProperty(INDI::Property *property) =0;
86 
87 
92  virtual void removeProperty(INDI::Property *property) =0;
93 
94 
98  virtual void newBLOB(IBLOB *bp) =0;
99 
103  virtual void newSwitch(ISwitchVectorProperty *svp) =0;
104 
108  virtual void newNumber(INumberVectorProperty *nvp) =0;
109 
113  virtual void newText(ITextVectorProperty *tvp) =0;
114 
118  virtual void newLight(ILightVectorProperty *lvp) =0;
119 
124  virtual void newMessage(INDI::BaseDevice *dp, int messageID) =0;
125 
128  virtual void serverConnected() =0;
129 
133  virtual void serverDisconnected(int exit_code) =0;
134 
135  virtual ~BaseMediator() {}
136 
137 };
138 
139 #endif // INDIBASE_H
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:332
virtual void removeProperty(INDI::Property *property)=0
Emmited when a property is deleted for an INDI driver.
One Blob (Binary Large Object) descriptor.
Definition: indiapi.h:356
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:45
Switch vector property descriptor.
Definition: indiapi.h:291
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.
Constants and Data structure definitions for the interface to the reference INDI C API implementation...
Number vector property descriptor.
Definition: indiapi.h:252
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 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:196
Meditates event notification as generated by driver and passed to clients.
Definition: indibase.h:72
virtual void serverDisconnected(int exit_code)=0
Emmited when the server gets disconnected.