Instrument Neutral Distributed Interface INDI  2.0.2
indiwidgettraits.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2021 by Pawel Soja <kernel32.pl@gmail.com>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Lesser General Public
6  License as published by the Free Software Foundation; either
7  version 2.1 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Lesser General Public License for more details.
13 
14  You should have received a copy of the GNU Lesser General Public
15  License along with this library; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18 
19 #pragma once
20 
21 #include "indiapi.h"
22 #include "indiutility.h"
23 
24 namespace INDI
25 {
26 
27 template <typename>
28 struct WidgetTraits;
29 
30 template<> struct WidgetTraits<IText>
31 {
33  struct UpdateArgs
34  {
35  char **texts;
36  char **names;
37  int n;
38  };
39 };
40 
41 template<> struct WidgetTraits<INumber>
42 {
44  struct UpdateArgs
45  {
46  double *values;
47  char **names;
48  int n;
49  };
50 };
51 
52 template<> struct WidgetTraits<ISwitch>
53 {
55  struct UpdateArgs
56  {
58  char **names;
59  int n;
60  };
61 };
62 
63 template<> struct WidgetTraits<ILight>
64 {
66  struct UpdateArgs
67  {
68 
69  };
70 };
71 
72 template<> struct WidgetTraits<IBLOB>
73 {
75  struct UpdateArgs
76  {
77  int *sizes;
78  int *blobsizes;
79  char **blobs;
80  char **formats;
81  char **names;
82  int n;
83  };
84 };
85 
86 }
Constants and Data structure definitions for the interface to the reference INDI C API implementation...
ISState
Switch state.
Definition: indiapi.h:150
struct _IBLOBVectorProperty IBLOBVectorProperty
struct _ISwitchVectorProperty ISwitchVectorProperty
struct _ITextVectorProperty ITextVectorProperty
struct _ILightVectorProperty ILightVectorProperty
struct _INumberVectorProperty INumberVectorProperty
Namespace to encapsulate INDI client, drivers, and mediator classes.
One Blob (Binary Large Object) descriptor.
One light descriptor.
One number descriptor.
One switch descriptor.
One text descriptor.
BLOB (Binary Large Object) vector property descriptor.
Definition: indiapi.h:471
Light vector property descriptor.
Definition: indiapi.h:417
Number vector property descriptor.
Definition: indiapi.h:319
Switch vector property descriptor.
Definition: indiapi.h:367
Text vector property descriptor.
Definition: indiapi.h:246