INDI Alignment Layer  0.0
AlignmentLayer.h
00001 #ifndef ALIGNMENTLAYER_H
00002 #define  ALIGNMENTLAYER_H
00003 
00004 
00005 #include <inditelescope.h>
00006 #include <baseclient.h>
00007 
00008 #include "AlignmentDatabase.h"
00009 
00010 class CAlignmentLayer : public INDI::DefaultDevice, INDI::BaseClient
00011 {
00012 public:
00013     CAlignmentLayer();
00014     virtual const char *getDefaultName() { return "indi_alignment_layer"; }
00015     virtual bool initProperties();
00016     // INDI::DefaultDevice virtual functions
00017     virtual void ISGetProperties (const char *dev);
00018     virtual bool ISNewNumber(const char *dev, const char *name, double values[], char *names[], int n);
00019     virtual bool ISNewSwitch (const char *dev, const char *name, ISState *states, char *names[], int n);
00020     virtual bool ISNewText (const char *dev, const char *name, char *texts[], char *names[], int n);
00021     virtual bool ISNewBLOB (const char *dev, const char *name, int sizes[], int blobsizes[], char *blobs[], char *formats[], char *names[], int n);
00022 
00023 protected:
00024     // INDI::BaseMediator pure virtual functions
00025     virtual void newDevice(INDI::BaseDevice *dp);
00026     virtual void newProperty(INDI::Property *property);
00027     virtual void removeProperty(INDI::Property *property);
00028     virtual void newBLOB(IBLOB *bp);
00029     virtual void newSwitch(ISwitchVectorProperty *svp);
00030     virtual void newNumber(INumberVectorProperty *nvp);
00031     virtual void newMessage(INDI::BaseDevice *dp, int messageID);
00032     virtual void newText(ITextVectorProperty *tvp);
00033     virtual void newLight(ILightVectorProperty *lvp);
00034     virtual void serverConnected();
00035     virtual void serverDisconnected(int exit_code);
00036     // INDI::DefaultDevice pure virtual functions
00037     virtual bool Connect() { return true; }
00038     virtual bool Disconnect() { return true; }
00039 
00040 private:
00041     INDI::BaseDevice *pLowerLayerDevice;
00042     CAlignmentDatabase AlignmentDatabase;
00043 };
00044 
00045 #endif // ALIGNMENTLAYER_H