Instrument Neutral Distributed Interface INDI  1.9.5
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 
23 namespace INDI
24 {
25 
26 template <typename>
27 struct WidgetTraits;
28 
29 template<> struct WidgetTraits<IText>
30 {
32  struct UpdateArgs
33  {
34  char **texts;
35  char **names;
36  int n;
37  };
38 };
39 
40 template<> struct WidgetTraits<INumber>
41 {
43  struct UpdateArgs
44  {
45  double *values;
46  char **names;
47  int n;
48  };
49 };
50 
51 template<> struct WidgetTraits<ISwitch>
52 {
54  struct UpdateArgs
55  {
57  char **names;
58  int n;
59  };
60 };
61 
62 template<> struct WidgetTraits<ILight>
63 {
65  struct UpdateArgs
66  {
67 
68  };
69 };
70 
71 template<> struct WidgetTraits<IBLOB>
72 {
74  struct UpdateArgs
75  {
76  int *sizes;
77  int *blobsizes;
78  char **blobs;
79  char **formats;
80  char **names;
81  int n;
82  };
83 };
84 
85 }
INDI::WidgetTraits< INumber >::UpdateArgs::names
char ** names
Definition: indiwidgettraits.h:46
INDI::WidgetTraits
Definition: indiwidgettraits.h:27
_ILightVectorProperty
Light vector property descriptor.
Definition: indiapi.h:415
ISwitch
One switch descriptor.
indiapi.h
Constants and Data structure definitions for the interface to the reference INDI C API implementation...
INDI::WidgetTraits< INumber >::UpdateArgs::values
double * values
Definition: indiwidgettraits.h:45
INumber
One number descriptor.
_IBLOBVectorProperty
BLOB (Binary Large Object) vector property descriptor.
Definition: indiapi.h:469
INumberVectorProperty
struct _INumberVectorProperty INumberVectorProperty
INDI::WidgetTraits< ISwitch >::UpdateArgs::n
int n
Definition: indiwidgettraits.h:58
INDI::WidgetTraits< IText >::UpdateArgs::names
char ** names
Definition: indiwidgettraits.h:35
INDI::WidgetTraits< IBLOB >::UpdateArgs::blobsizes
int * blobsizes
Definition: indiwidgettraits.h:77
ISwitchVectorProperty
struct _ISwitchVectorProperty ISwitchVectorProperty
INDI::WidgetTraits< ISwitch >::UpdateArgs::names
char ** names
Definition: indiwidgettraits.h:57
INDI::WidgetTraits< IBLOB >::UpdateArgs::blobs
char ** blobs
Definition: indiwidgettraits.h:78
_ITextVectorProperty
Text vector property descriptor.
Definition: indiapi.h:244
ILight
One light descriptor.
_INumberVectorProperty
Number vector property descriptor.
Definition: indiapi.h:317
IText
One text descriptor.
INDI::WidgetTraits< IBLOB >::UpdateArgs::formats
char ** formats
Definition: indiwidgettraits.h:79
IBLOBVectorProperty
struct _IBLOBVectorProperty IBLOBVectorProperty
INDI::WidgetTraits< IBLOB >::UpdateArgs::sizes
int * sizes
Definition: indiwidgettraits.h:76
ITextVectorProperty
struct _ITextVectorProperty ITextVectorProperty
ILightVectorProperty
struct _ILightVectorProperty ILightVectorProperty
INDI::WidgetTraits< ISwitch >::UpdateArgs::states
ISState * states
Definition: indiwidgettraits.h:56
INDI::WidgetTraits< IBLOB >::UpdateArgs::n
int n
Definition: indiwidgettraits.h:81
INDI
Namespace to encapsulate INDI client, drivers, and mediator classes.
Definition: AlignmentSubsystemForClients.cpp:11
INDI::WidgetTraits< IText >::UpdateArgs::n
int n
Definition: indiwidgettraits.h:36
INDI::WidgetTraits< INumber >::UpdateArgs::n
int n
Definition: indiwidgettraits.h:47
ISState
ISState
Switch state.
Definition: indiapi.h:148
INDI::WidgetTraits< IText >::UpdateArgs::texts
char ** texts
Definition: indiwidgettraits.h:34
INDI::WidgetTraits< IBLOB >::UpdateArgs::names
char ** names
Definition: indiwidgettraits.h:80
IBLOB
One Blob (Binary Large Object) descriptor.
_ISwitchVectorProperty
Switch vector property descriptor.
Definition: indiapi.h:365