94 virtual std::string
name() = 0;
99 virtual std::string
label() = 0;
111 virtual bool ISNewNumber(
const char *dev,
const char *
name,
double values[],
char *names[],
int n);
112 virtual bool ISNewText(
const char *dev,
const char *
name,
char *texts[],
char *names[],
int n);
113 virtual bool ISNewBLOB(
const char *dev,
const char *
name,
int sizes[],
int blobsizes[],
char *blobs[],
114 char *formats[],
char *names[],
int n);
The Interface class is the base class for all INDI connection plugins.
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n)
virtual bool ISNewNumber(const char *dev, const char *name, double values[], char *names[], int n)
virtual Type type()
type Return connection type
const char * getDeviceName()
virtual bool ISNewText(const char *dev, const char *name, char *texts[], char *names[], int n)
virtual bool ISNewBLOB(const char *dev, const char *name, int sizes[], int blobsizes[], char *blobs[], char *formats[], char *names[], int n)
virtual std::string name()=0
Interface(INDI::DefaultDevice *dev, Type type=CONNECTION_NONE)
virtual void Deactivated()=0
Deactivated Function called by the framework when the plugin is deactivated. It is usually used to de...
virtual bool Disconnect()=0
Disconnect Disconnect from device.
void registerHandshake(std::function< bool()> callback)
registerHandshake Register a handshake function to be called once the intial connection to the device...
virtual void Activated()=0
Activated Function called by the framework when the plugin is activated (i.e. selected by the user)....
std::function< bool()> Handshake
INDI::DefaultDevice * m_Device
virtual std::string label()=0
virtual bool Connect()=0
Connect Connect to device via the implemented communication medium. Do not perform any handshakes.
virtual bool saveConfigItems(FILE *fp)
Class to provide extended functionality for devices in addition to the functionality provided by INDI...
Interface to the reference INDI C API device implementation on the Device Driver side.
Combines all INDI Connection Plugins. Each INDI connection plugin is responsible of managing communic...
Namespace to encapsulate INDI client, drivers, and mediator classes.
Holds the connection type.