50 class BaseDevicePrivate;
286 bool operator != (
std::nullptr_t)
const
292 bool operator == (
std::nullptr_t)
const
297 operator bool()
const
308 std::shared_ptr<BaseDevicePrivate>
d_ptr;
310 BaseDevice(
const std::shared_ptr<BaseDevicePrivate> &dd);
Class to provide basic INDI device functionality.
INDI::PropertyNumber getNumber(const char *name) const
void * getRawProperty(const char *name, INDI_PROPERTY_TYPE type=INDI_UNKNOWN) const
Return a property and its type given its name.
void checkMessage(XMLEle *root)
void addMessage(const std::string &msg)
Add message to the driver's message queue.
bool buildSkeleton(const char *filename)
Build driver properties from a skeleton file.
const std::string & messageQueue(size_t index) const
void attach()
indicates that the device is ready
void watchProperty(const char *name, const std::function< void(INDI::Property)> &callback, WATCH watch=WATCH_NEW)
Call the callback function if property is available.
static std::string getSharedFilePath(std::string fileName)
const char * getDeviceName() const
void detach()
indicates that the device is being removed
INDI::BaseMediator * getMediator() const
DRIVER_INTERFACE
The DRIVER_INTERFACE enum defines the class of devices the driver implements. A driver may implement ...
const char * getDriverName() const
Property getProperty(const char *name, INDI_PROPERTY_TYPE type=INDI_UNKNOWN) const
Return a property and its type given its name.
INDI::PropertySwitch getSwitch(const char *name) const
void setMediator(INDI::BaseMediator *mediator)
Set the driver's mediator to receive notification of news devices and updated property values.
int removeProperty(const char *name, char *errmsg)
Remove a property.
void setDeviceName(const char *dev)
Set the device name.
INDI::PropertyBlob getBLOB(const char *name) const
uint16_t getDriverInterface() const
getDriverInterface returns ORed values of DRIVER_INTERFACE. It presents the device classes supported ...
INDI::Properties Properties
INDI::PropertyLight getLight(const char *name) const
void registerProperty(const INDI::Property &property)
Register the property to be able to observe and update.
int setValue(const INDI::LilXmlElement &root, char *errmsg)
handle SetXXX commands from client
const char * getDriverVersion() const
const std::string & lastMessage() const
std::shared_ptr< BaseDevicePrivate > d_ptr
void doMessage(XMLEle *msg)
const char * getDriverExec() const
INDI::PropertyText getText(const char *name) const
bool isDeviceNameMatch(const char *otherName) const
Check that the device name matches the argument.
IPerm getPropertyPermission(const char *name) const
IPState getPropertyState(const char *name) const
@ INDI_PROPERTY_DUPLICATED
Properties getProperties()
Return a list of all properties in the device.
int buildProp(const INDI::LilXmlElement &root, char *errmsg, bool isDynamic=false)
Build a property given the supplied XML element (defXXX)
Provides generic container for INDI properties.
IPerm
Permission hint, with respect to client.
#define INDI_DEPRECATED(message)
Namespace to encapsulate INDI client, drivers, and mediator classes.