Instrument Neutral Distributed Interface INDI  0.9.6
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 
33 namespace INDI
34 {
35  class BaseMediator;
36  class BaseClient;
37  class BaseDevice;
38  class DefaultDevice;
39  class FilterInterface;
40  class GuiderInterface;
41  class CCD;
42  class Telescope;
43  class FilterWheel;
44  class Focuser;
45  class USBDevice;
46  class Property;
47 }
48 
50 typedef enum
51 {
52  INDI_NUMBER,
53  INDI_SWITCH,
54  INDI_TEXT,
55  INDI_LIGHT,
56  INDI_BLOB,
57  INDI_UNKNOWN
58 } INDI_TYPE;
59 
60 
66 {
67 public:
68 
72  virtual void newDevice(INDI::BaseDevice *dp) =0;
73 
78  virtual void newProperty(INDI::Property *property) =0;
79 
80 
85  virtual void removeProperty(INDI::Property *property) =0;
86 
87 
91  virtual void newBLOB(IBLOB *bp) =0;
92 
96  virtual void newSwitch(ISwitchVectorProperty *svp) =0;
97 
101  virtual void newNumber(INumberVectorProperty *nvp) =0;
102 
106  virtual void newText(ITextVectorProperty *tvp) =0;
107 
111  virtual void newLight(ILightVectorProperty *lvp) =0;
112 
117  virtual void newMessage(INDI::BaseDevice *dp, int messageID) =0;
118 
121  virtual void serverConnected() =0;
122 
126  virtual void serverDisconnected(int exit_code) =0;
127 
128  virtual ~BaseMediator() {}
129 
130 };
131 
132 #endif // INDIBASE_H