36 class AbstractBaseClientPrivate;
50 void setServer(
const char *hostname,
unsigned int port);
111 void watchProperty(
const char *deviceName,
const char *propertyName);
131 std::vector<INDI::BaseDevice>
getDevices()
const;
146 bool getDevices(std::vector<INDI::BaseDevice> &deviceList, uint16_t driverInterface);
180 void sendNewText(
const char *deviceName,
const char *propertyName,
const char *elementName,
const char *text);
184 void sendNewNumber(
const char *deviceName,
const char *propertyName,
const char *elementName,
double value);
188 void sendNewSwitch(
const char *deviceName,
const char *propertyName,
const char *elementName);
191 void startBlob(
const char *devName,
const char *propName,
const char *timestamp);
196 void sendOneBlob(
const char *blobName,
unsigned int blobSize,
const char *blobFormat,
void *blobBuffer);
239 %
template(BaseDeviceVectorShared) std::vector<INDI::BaseDevice>;
int getPort() const
Get the port number.
void setServer(const char *hostname, unsigned int port)
Set the server host name and port.
bool isVerbose() const
isVerbose Is client in verbose mode?
INDI::BaseDevice getDevice(const char *deviceName)
virtual void newUniversalMessage(std::string message)
newUniversalMessage Universal messages are sent from INDI server without a specific device....
void sendNewSwitch(INDI::Property pp)
Send new Switch command to server.
void setBLOBMode(BLOBHandling blobH, const char *dev, const char *prop=nullptr)
Set Binary Large Object policy mode.
void watchProperty(const char *deviceName, const char *propertyName)
watchProperties Add a property to the watch list. When communicating with INDI server.
bool getDevices(std::vector< INDI::BaseDevice > &deviceList, uint16_t driverInterface)
getDevices Returns list of devices that belong to a particular DRIVER_INTERFACE class.
void sendNewProperty(INDI::Property pp)
Send new Property command to server.
AbstractBaseClient()=delete
virtual bool connectServer()=0
Connect to INDI server.
virtual bool disconnectServer(int exit_code=0)=0
Disconnect from INDI server. Any devices previously created will be deleted and memory cleared.
void setConnectionTimeout(uint32_t seconds, uint32_t microseconds)
setConnectionTimeout Set connection timeout. By default it is 3 seconds.
void finishBlob()
Send closing tag for BLOB command to server.
void disconnectDevice(const char *deviceName)
Disconnect INDI driver.
std::unique_ptr< AbstractBaseClientPrivate > d_ptr_indi
void setVerbose(bool enable)
setVerbose Set verbose mode
virtual ~AbstractBaseClient()
void sendPingReply(const char *uid)
Send a ping reply for the given uuid.
void sendOneBlob(IBLOB *bp)
Send ONE blob content to server. The BLOB data in raw binary format and will be converted to base64 a...
virtual void newPingReply(std::string uid)
pingReply are sent by the server on response to pingReply (see above).
bool isServerConnected() const
Get status of the connection.
void sendPingRequest(const char *uid)
Send one ping request, the server will answer back with the same uuid.
void connectDevice(const char *deviceName)
Disconnect INDI driver.
void watchDevice(const char *deviceName)
Add a device to the watch list.
const char * getHost() const
Get the server host name.
std::vector< INDI::BaseDevice > getDevices() const
void sendNewNumber(INDI::Property pp)
Send new Number command to server.
BLOBHandling getBLOBMode(const char *dev, const char *prop=nullptr)
getBLOBMode Get Binary Large Object policy mode IF set previously by setBLOBMode
void sendNewText(INDI::Property pp)
Send new Text command to server.
void startBlob(const char *devName, const char *propName, const char *timestamp)
Send opening tag for BLOB command to server.
Class to provide basic INDI device functionality.
Provides generic container for INDI properties.
BLOBHandling
How drivers handle BLOBs incoming from snooping drivers.
Namespace to encapsulate INDI client, drivers, and mediator classes.
One Blob (Binary Large Object) descriptor.