Instrument Neutral Distributed Interface INDI
2.0.2
|
#include <LoaderClient.h>
Public Member Functions | |
LoaderClient () | |
virtual | ~LoaderClient () |
void | Initialise (int argc, char *argv[]) |
void | Load () |
Public Member Functions inherited from INDI::BaseClient | |
BaseClient () | |
virtual | ~BaseClient () |
bool | connectServer () override |
Connect to INDI server. More... | |
bool | disconnectServer (int exit_code=0) override |
Disconnect from INDI server. Any devices previously created will be deleted and memory cleared. More... | |
void | enableDirectBlobAccess (const char *dev=nullptr, const char *prop=nullptr) |
activate zero-copy delivering of the blob content. When enabled, all blob copy will be avoided when possible (depending on the connection). This changes how the IBLOB.data field : More... | |
Public Member Functions inherited from INDI::AbstractBaseClient | |
AbstractBaseClient ()=delete | |
virtual | ~AbstractBaseClient () |
void | setServer (const char *hostname, unsigned int port) |
Set the server host name and port. More... | |
const char * | getHost () const |
Get the server host name. More... | |
int | getPort () const |
Get the port number. More... | |
bool | isServerConnected () const |
Get status of the connection. More... | |
void | setConnectionTimeout (uint32_t seconds, uint32_t microseconds) |
setConnectionTimeout Set connection timeout. By default it is 3 seconds. More... | |
void | setVerbose (bool enable) |
setVerbose Set verbose mode More... | |
bool | isVerbose () const |
isVerbose Is client in verbose mode? More... | |
void | watchDevice (const char *deviceName) |
Add a device to the watch list. More... | |
void | watchDevice (const char *deviceName, const std::function< void(BaseDevice)> &callback) |
void | watchProperty (const char *deviceName, const char *propertyName) |
watchProperties Add a property to the watch list. When communicating with INDI server. More... | |
void | connectDevice (const char *deviceName) |
Disconnect INDI driver. More... | |
void | disconnectDevice (const char *deviceName) |
Disconnect INDI driver. More... | |
INDI::BaseDevice | getDevice (const char *deviceName) |
std::vector< INDI::BaseDevice > | getDevices () const |
bool | getDevices (std::vector< INDI::BaseDevice > &deviceList, uint16_t driverInterface) |
getDevices Returns list of devices that belong to a particular DRIVER_INTERFACE class. More... | |
void | setBLOBMode (BLOBHandling blobH, const char *dev, const char *prop=nullptr) |
Set Binary Large Object policy mode. More... | |
BLOBHandling | getBLOBMode (const char *dev, const char *prop=nullptr) |
getBLOBMode Get Binary Large Object policy mode IF set previously by setBLOBMode More... | |
void | sendNewProperty (INDI::Property pp) |
Send new Property command to server. More... | |
void | sendNewText (INDI::Property pp) |
Send new Text command to server. More... | |
void | sendNewText (const char *deviceName, const char *propertyName, const char *elementName, const char *text) |
Send new Text command to server. More... | |
void | sendNewNumber (INDI::Property pp) |
Send new Number command to server. More... | |
void | sendNewNumber (const char *deviceName, const char *propertyName, const char *elementName, double value) |
Send new Number command to server. More... | |
void | sendNewSwitch (INDI::Property pp) |
Send new Switch command to server. More... | |
void | sendNewSwitch (const char *deviceName, const char *propertyName, const char *elementName) |
Send new Switch command to server. More... | |
void | startBlob (const char *devName, const char *propName, const char *timestamp) |
Send opening tag for BLOB command to server. More... | |
void | sendOneBlob (IBLOB *bp) |
Send ONE blob content to server. The BLOB data in raw binary format and will be converted to base64 and sent to server. More... | |
void | sendOneBlob (INDI::WidgetViewBlob *blob) |
void | sendOneBlob (const char *blobName, unsigned int blobSize, const char *blobFormat, void *blobBuffer) |
Send ONE blob content to server. The BLOB data in raw binary format and will be converted to base64 and sent to server. More... | |
void | finishBlob () |
Send closing tag for BLOB command to server. More... | |
void | sendPingRequest (const char *uid) |
Send one ping request, the server will answer back with the same uuid. More... | |
void | sendPingReply (const char *uid) |
Send a ping reply for the given uuid. More... | |
Public Member Functions inherited from INDI::BaseMediator | |
virtual | ~BaseMediator ()=default |
virtual void | newDevice (INDI::BaseDevice baseDevice) |
Emmited when a new device is created from INDI server. More... | |
virtual void | removeDevice (INDI::BaseDevice baseDevice) |
Emmited when a device is deleted from INDI server. More... | |
virtual void | newProperty (INDI::Property property) |
Emmited when a new property is created for an INDI driver. More... | |
virtual void | updateProperty (INDI::Property property) |
Emmited when a new property value arrives from INDI server. More... | |
virtual void | removeProperty (INDI::Property property) |
Emmited when a property is deleted for an INDI driver. More... | |
virtual void | newMessage (INDI::BaseDevice baseDevice, int messageID) |
Emmited when a new message arrives from INDI server. More... | |
virtual void | removeDevice (INDI::BaseDevice *dp) |
Emmited when a device is deleted from INDI server. More... | |
Protected Member Functions | |
virtual void | newBLOB (IBLOB *bp) |
Emmited when a new property value arrives from INDI server. More... | |
virtual void | newDevice (INDI::BaseDevice *dp) |
Emmited when a new device is created from INDI server. More... | |
virtual void | newLight (ILightVectorProperty *lvp) |
Emmited when a new light value arrives from INDI server. More... | |
virtual void | newMessage (INDI::BaseDevice *dp, int messageID) |
Emmited when a new message arrives from INDI server. More... | |
virtual void | newNumber (INumberVectorProperty *nvp) |
Emmited when a new number value arrives from INDI server. More... | |
virtual void | newProperty (INDI::Property *property) |
Emmited when a new property is created for an INDI driver. More... | |
virtual void | newSwitch (ISwitchVectorProperty *svp) |
Emmited when a new switch value arrives from INDI server. More... | |
virtual void | newText (ITextVectorProperty *tvp) |
Emmited when a new text value arrives from INDI server. More... | |
virtual void | removeProperty (INDI::Property *property) |
Emmited when a property is deleted for an INDI driver. More... | |
virtual void | serverConnected () |
Emmited when the server is connected. More... | |
virtual void | serverDisconnected (int exit_code) |
Emmited when the server gets disconnected. More... | |
Protected Member Functions inherited from INDI::AbstractBaseClient | |
virtual void | newPingReply (std::string uid) |
pingReply are sent by the server on response to pingReply (see above). More... | |
virtual void | newUniversalMessage (std::string message) |
newUniversalMessage Universal messages are sent from INDI server without a specific device. It is addressed to the client overall. More... | |
AbstractBaseClient (std::unique_ptr< AbstractBaseClientPrivate > &&dd) | |
Additional Inherited Members | |
Protected Attributes inherited from INDI::AbstractBaseClient | |
std::unique_ptr< AbstractBaseClientPrivate > | d_ptr_indi |
Definition at line 9 of file LoaderClient.h.
LoaderClient::LoaderClient | ( | ) |
Definition at line 8 of file LoaderClient.cpp.
|
virtual |
Definition at line 13 of file LoaderClient.cpp.
void LoaderClient::Initialise | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 20 of file LoaderClient.cpp.
void LoaderClient::Load | ( | ) |
Definition at line 46 of file LoaderClient.cpp.
|
protectedvirtual |
Emmited when a new property value arrives from INDI server.
bp | Pointer to filled and process BLOB. |
Reimplemented from INDI::BaseMediator.
Definition at line 65 of file LoaderClient.cpp.
|
protectedvirtual |
Emmited when a new device is created from INDI server.
dp | Pointer to the base device instance |
Reimplemented from INDI::BaseMediator.
Definition at line 70 of file LoaderClient.cpp.
|
inlineprotectedvirtual |
Emmited when a new light value arrives from INDI server.
lvp | Pointer to a light vector property. |
Reimplemented from INDI::BaseMediator.
Definition at line 25 of file LoaderClient.h.
|
inlineprotectedvirtual |
Emmited when a new message arrives from INDI server.
dp | pointer to the INDI device the message is sent to. |
messageID | ID of the message that can be used to retrieve the message from the device's messageQueue() function. |
Reimplemented from INDI::BaseMediator.
Definition at line 26 of file LoaderClient.h.
|
protectedvirtual |
Emmited when a new number value arrives from INDI server.
nvp | Pointer to a number vector property. |
Reimplemented from INDI::BaseMediator.
Definition at line 75 of file LoaderClient.cpp.
|
protectedvirtual |
Emmited when a new property is created for an INDI driver.
property | Pointer to the Property Container |
Reimplemented from INDI::BaseMediator.
Definition at line 80 of file LoaderClient.cpp.
|
protectedvirtual |
Emmited when a new switch value arrives from INDI server.
svp | Pointer to a switch vector property. |
Reimplemented from INDI::BaseMediator.
Definition at line 85 of file LoaderClient.cpp.
|
inlineprotectedvirtual |
Emmited when a new text value arrives from INDI server.
tvp | Pointer to a text vector property. |
Reimplemented from INDI::BaseMediator.
Definition at line 30 of file LoaderClient.h.
|
inlineprotectedvirtual |
Emmited when a property is deleted for an INDI driver.
property | Pointer to the Property Container to remove. |
Reimplemented from INDI::BaseMediator.
Definition at line 31 of file LoaderClient.h.
|
inlineprotectedvirtual |
Emmited when the server is connected.
Reimplemented from INDI::BaseMediator.
Definition at line 32 of file LoaderClient.h.
|
inlineprotectedvirtual |
Emmited when the server gets disconnected.
exit_code | 0 if client was requested to disconnect from server. -1 if connection to server is terminated due to remote server disconnection. |
Reimplemented from INDI::BaseMediator.
Definition at line 33 of file LoaderClient.h.