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 CCD;
45  class Telescope;
46  class FilterWheel;
47  class Focuser;
48  class USBDevice;
49  class Property;
50  class Controller;
51  class Logger;
52 }
53 
55 typedef enum
56 {
57  INDI_NUMBER,
58  INDI_SWITCH,
59  INDI_TEXT,
60  INDI_LIGHT,
61  INDI_BLOB,
62  INDI_UNKNOWN
63 } INDI_TYPE;
64 
65 
71 {
72 public:
73 
77  virtual void newDevice(INDI::BaseDevice *dp) =0;
78 
83  virtual void newProperty(INDI::Property *property) =0;
84 
85 
90  virtual void removeProperty(INDI::Property *property) =0;
91 
92 
96  virtual void newBLOB(IBLOB *bp) =0;
97 
101  virtual void newSwitch(ISwitchVectorProperty *svp) =0;
102 
106  virtual void newNumber(INumberVectorProperty *nvp) =0;
107 
111  virtual void newText(ITextVectorProperty *tvp) =0;
112 
116  virtual void newLight(ILightVectorProperty *lvp) =0;
117 
122  virtual void newMessage(INDI::BaseDevice *dp, int messageID) =0;
123 
126  virtual void serverConnected() =0;
127 
131  virtual void serverDisconnected(int exit_code) =0;
132 
133  virtual ~BaseMediator() {}
134 
135 };
136 
137 #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:331
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:355
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:290
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:251
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:195
Meditates event notification as generated by driver and passed to clients.
Definition: indibase.h:70
virtual void serverDisconnected(int exit_code)=0
Emmited when the server gets disconnected.