24 #define MAX_GROUP_COUNT 16
39 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n)
override;
40 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n)
override;
41 virtual bool ISNewText(
const char *dev,
const char *name,
char *texts[],
char *names[],
int n)
override;
42 virtual bool ISNewBLOB(
const char *dev,
const char *name,
int sizes[],
int blobsizes[],
char *blobs[],
43 char *formats[],
char *names[],
int n)
override;
57 virtual bool Connect()
override;
62 bool isCCDConnected();
63 bool isFilterConnected();
64 void defineProperties();
65 void deleteProperties();
66 void initiateNextFilter();
67 void initiateNextCapture();
71 void initiateDownload();
78 const char *controlledCCD {
nullptr };
79 const char *controlledFilterWheel {
nullptr };
82 IText ControlledDeviceT[2] {};
104 IText CCDUploadSettingsT[2] {};
110 std::vector<std::shared_ptr<Group>> groups;
111 std::shared_ptr<Group> currentGroup()
const;
112 std::shared_ptr<Group> nextGroup()
const;
113 std::shared_ptr<Group> getGroup(
int index)
const;
Class to provide basic client functionality.
Class to provide basic INDI device functionality.
Class to provide extended functionality for devices in addition to the functionality provided by INDI...
Provides generic container for INDI properties.
virtual void updateProperty(INDI::Property property) override
Emmited when a new property value arrives from INDI server.
static const std::string DEVICE_NAME
virtual bool initProperties() override
Initilize properties initial state and value. The child class must implement this function.
virtual const char * getDefaultName() override
virtual void ISGetProperties(const char *dev) override
define the driver's properties to the client. Usually, only a minimum set of properties are defined t...
virtual void serverConnected() override
Emmited when the server is connected.
virtual bool ISNewNumber(const char *dev, const char *name, double values[], char *names[], int n) override
Process the client newNumber command.
virtual void newDevice(INDI::BaseDevice baseDevice) override
Emmited when a new device is created from INDI server.
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n) override
Process the client newSwitch command.
virtual bool Disconnect() override
Disconnect from device.
virtual bool ISNewText(const char *dev, const char *name, char *texts[], char *names[], int n) override
Process the client newSwitch command.
virtual void serverDisconnected(int exit_code) override
Emmited when the server gets disconnected.
virtual bool updateProperties() override
updateProperties is called whenever there is a change in the CONNECTION status of the driver....
virtual bool ISSnoopDevice(XMLEle *root) override
Process a snoop event from INDI server. This function is called when a snooped property is updated in...
virtual void newProperty(INDI::Property property) override
Emmited when a new property is created for an INDI driver.
virtual ~Imager()=default
virtual bool Connect() override
Connect to the device. INDI::DefaultDevice implementation connects to appropriate connection interfac...
virtual bool ISNewBLOB(const char *dev, const char *name, int sizes[], int blobsizes[], char *blobs[], char *formats[], char *names[], int n) override
Process the client newBLOB command.
One Blob (Binary Large Object) descriptor.
BLOB (Binary Large Object) vector property descriptor.
Light vector property descriptor.
Number vector property descriptor.
Switch vector property descriptor.
Text vector property descriptor.