40 static void errorUnavailable(
const char *
function)
42 fprintf(stderr,
"%s method available only on driver side\n",
function);
51 errorUnavailable(__FUNCTION__);
60 errorUnavailable(__FUNCTION__);
69 errorUnavailable(__FUNCTION__);
78 errorUnavailable(__FUNCTION__);
87 errorUnavailable(__FUNCTION__);
96 errorUnavailable(__FUNCTION__);
105 errorUnavailable(__FUNCTION__);
114 errorUnavailable(__FUNCTION__);
123 errorUnavailable(__FUNCTION__);
132 errorUnavailable(__FUNCTION__);
135 template <
typename T>
139 va_start(ap, format);
140 this->vapply(format, ap);
144 template <
typename T>
148 va_start(ap, format);
149 this->vdefine(format, ap);
153 template <>
template <>
155 const char *
device,
const char *name,
const char *label,
const char *group,
160 this, begin(), count(),
device, name, label, group,
161 permission, timeout, state
165 template <>
template <>
167 const char *
device,
const char *name,
const char *label,
const char *group,
172 this, begin(), count(),
device, name, label, group,
173 permission, timeout, state
177 template <>
template <>
179 const char *
device,
const char *name,
const char *label,
const char *group,
184 this, begin(), count(),
device, name, label, group,
185 permission, rule, timeout, state
189 template <>
template <>
191 const char *
device,
const char *name,
const char *label,
const char *group,
196 this, begin(), count(),
device, name, label, group,
201 template <>
template <>
203 const char *
device,
const char *name,
const char *label,
const char *group,
208 this, begin(), count(),
device, name, label, group,
209 permission, timeout, state
213 template <>
template<>
217 return WeakIUUpdateText(
this,
const_cast<char**
>(texts),
const_cast<char**
>(names), n) == 0;
219 errorUnavailable(__FUNCTION__);
223 template <>
template<>
227 return WeakIUUpdateNumber(
this,
const_cast<double*
>(values),
const_cast<char**
>(names), n) == 0;
229 errorUnavailable(__FUNCTION__);
233 template <>
template<>
239 errorUnavailable(__FUNCTION__);
243 template <>
template<>
245 const int sizes[],
const int blobsizes[],
const char *
const blobs[],
const char *
const formats[],
246 const char *
const names[],
int n
252 const_cast<int *
>(sizes),
const_cast<int *
>(blobsizes),
253 const_cast<char **
>(blobs),
const_cast<char **
>(formats),
254 const_cast<char **
>(names), n
257 errorUnavailable(__FUNCTION__);
261 template <>
template<>
286 double min,
double max,
double step,
double value)
IPerm
Permission hint, with respect to client.
ISRule
Switch vector rule hint.
void IUFillLight(ILight *lp, const char *name, const char *label, IPState s)
Assign attributes for a light property. The light's auxiliary elements will be set to NULL.
void IUFillNumberVector(INumberVectorProperty *nvp, INumber *np, int nnp, const char *dev, const char *name, const char *label, const char *group, IPerm p, double timeout, IPState s)
Assign attributes for a number vector property. The vector's auxiliary elements will be set to NULL.
void IUFillLightVector(ILightVectorProperty *lvp, ILight *lp, int nlp, const char *dev, const char *name, const char *label, const char *group, IPState s)
Assign attributes for a light vector property. The vector's auxiliary elements will be set to NULL.
void IUFillTextVector(ITextVectorProperty *tvp, IText *tp, int ntp, const char *dev, const char *name, const char *label, const char *group, IPerm p, double timeout, IPState s)
Assign attributes for a text vector property. The vector's auxiliary elements will be set to NULL.
void IUFillSwitch(ISwitch *sp, const char *name, const char *label, ISState s)
Assign attributes for a switch property. The switch's auxiliary elements will be set to NULL.
void IUFillText(IText *tp, const char *name, const char *label, const char *initialText)
Assign attributes for a text property. The text's auxiliary elements will be set to NULL.
void IUFillNumber(INumber *np, const char *name, const char *label, const char *format, double min, double max, double step, double value)
Assign attributes for a number property. The number's auxiliary elements will be set to NULL.
void IUFillSwitchVector(ISwitchVectorProperty *svp, ISwitch *sp, int nsp, const char *dev, const char *name, const char *label, const char *group, IPerm p, ISRule r, double timeout, IPState s)
Assign attributes for a switch vector property. The vector's auxiliary elements will be set to NULL.
void IUFillBLOBVector(IBLOBVectorProperty *bvp, IBLOB *bp, int nbp, const char *dev, const char *name, const char *label, const char *group, IPerm p, double timeout, IPState s)
Assign attributes for a BLOB vector property. The vector's auxiliary elements will be set to NULL.
void IUFillBLOB(IBLOB *bp, const char *name, const char *label, const char *format)
Assign attributes for a BLOB property. The BLOB's data and auxiliary elements will be set to NULL.
void(* WeakIDSetBLOBVA)(const IBLOBVectorProperty *, const char *, va_list)
int(* WeakIUUpdateText)(ITextVectorProperty *, char *[], char *[], int)
int(* WeakIUUpdateNumber)(INumberVectorProperty *, double[], char *[], int n)
int(* WeakIUUpdateBLOB)(IBLOBVectorProperty *, int[], int[], char *[], char *[], char *[], int n)
void(* WeakIDSetLightVA)(const ILightVectorProperty *, const char *, va_list)
void(* WeakIDDefSwitchVA)(const ISwitchVectorProperty *, const char *, va_list)
void(* WeakIDDefTextVA)(const ITextVectorProperty *, const char *, va_list)
void(* WeakIDSetTextVA)(const ITextVectorProperty *, const char *, va_list)
void(* WeakIDDefBLOBVA)(const IBLOBVectorProperty *, const char *, va_list)
void(* WeakIDDefNumberVA)(const INumberVectorProperty *, const char *, va_list)
void(* WeakIDDefLightVA)(const ILightVectorProperty *, const char *, va_list)
int(* WeakIUUpdateSwitch)(ISwitchVectorProperty *, ISState *, char *[], int n)
void(* WeakIDSetNumberVA)(const INumberVectorProperty *, const char *, va_list)
void(* WeakIDSetSwitchVA)(const ISwitchVectorProperty *, const char *, va_list)
void(* WeakIUUpdateMinMax)(const INumberVectorProperty *)
Namespace to encapsulate INDI client, drivers, and mediator classes.
Provides decorator for Low-Level IXXXVectorProperty/IXXX.
void fill(const char *device, const char *name, const char *label, const char *group, IPerm permission, double timeout, IPState state)
void void void apply() const
bool update(const char *const texts[], const char *const names[], int n)
void vdefine(const char *format, va_list args) const
void vapply(const char *format, va_list args) const
BLOB (Binary Large Object) vector property descriptor.
Light vector property descriptor.
Number vector property descriptor.
Switch vector property descriptor.
Text vector property descriptor.