Instrument Neutral Distributed Interface INDI  0.9.8
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