Instrument Neutral Distributed Interface INDI
2.0.0
libs
indidevice
property
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
{
32
using
PropertyType
=
ITextVectorProperty
;
33
struct
UpdateArgs
34
{
35
char
**
texts
;
36
char
**
names
;
37
int
n
;
38
};
39
};
40
41
template
<>
struct
WidgetTraits
<
INumber
>
42
{
43
using
PropertyType
=
INumberVectorProperty
;
44
struct
UpdateArgs
45
{
46
double
*
values
;
47
char
**
names
;
48
int
n
;
49
};
50
};
51
52
template
<>
struct
WidgetTraits
<
ISwitch
>
53
{
54
using
PropertyType
=
ISwitchVectorProperty
;
55
struct
UpdateArgs
56
{
57
ISState
*
states
;
58
char
**
names
;
59
int
n
;
60
};
61
};
62
63
template
<>
struct
WidgetTraits
<
ILight
>
64
{
65
using
PropertyType
=
ILightVectorProperty
;
66
struct
UpdateArgs
67
{
68
69
};
70
};
71
72
template
<>
struct
WidgetTraits
<
IBLOB
>
73
{
74
using
PropertyType
=
IBLOBVectorProperty
;
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
}
indiapi.h
Constants and Data structure definitions for the interface to the reference INDI C API implementation...
ISState
ISState
Switch state.
Definition:
indiapi.h:150
IBLOBVectorProperty
struct _IBLOBVectorProperty IBLOBVectorProperty
ISwitchVectorProperty
struct _ISwitchVectorProperty ISwitchVectorProperty
ITextVectorProperty
struct _ITextVectorProperty ITextVectorProperty
ILightVectorProperty
struct _ILightVectorProperty ILightVectorProperty
INumberVectorProperty
struct _INumberVectorProperty INumberVectorProperty
indiutility.h
INDI
Namespace to encapsulate INDI client, drivers, and mediator classes.
Definition:
AlignmentSubsystemForClients.cpp:12
IBLOB
One Blob (Binary Large Object) descriptor.
ILight
One light descriptor.
INDI::WidgetTraits< IBLOB >::UpdateArgs::formats
char ** formats
Definition:
indiwidgettraits.h:80
INDI::WidgetTraits< IBLOB >::UpdateArgs::blobs
char ** blobs
Definition:
indiwidgettraits.h:79
INDI::WidgetTraits< IBLOB >::UpdateArgs::names
char ** names
Definition:
indiwidgettraits.h:81
INDI::WidgetTraits< IBLOB >::UpdateArgs::blobsizes
int * blobsizes
Definition:
indiwidgettraits.h:78
INDI::WidgetTraits< IBLOB >::UpdateArgs::sizes
int * sizes
Definition:
indiwidgettraits.h:77
INDI::WidgetTraits< IBLOB >::UpdateArgs::n
int n
Definition:
indiwidgettraits.h:82
INDI::WidgetTraits< INumber >::UpdateArgs::values
double * values
Definition:
indiwidgettraits.h:46
INDI::WidgetTraits< INumber >::UpdateArgs::names
char ** names
Definition:
indiwidgettraits.h:47
INDI::WidgetTraits< INumber >::UpdateArgs::n
int n
Definition:
indiwidgettraits.h:48
INDI::WidgetTraits< ISwitch >::UpdateArgs::names
char ** names
Definition:
indiwidgettraits.h:58
INDI::WidgetTraits< ISwitch >::UpdateArgs::n
int n
Definition:
indiwidgettraits.h:59
INDI::WidgetTraits< ISwitch >::UpdateArgs::states
ISState * states
Definition:
indiwidgettraits.h:57
INDI::WidgetTraits< IText >::UpdateArgs::names
char ** names
Definition:
indiwidgettraits.h:36
INDI::WidgetTraits< IText >::UpdateArgs::n
int n
Definition:
indiwidgettraits.h:37
INDI::WidgetTraits< IText >::UpdateArgs::texts
char ** texts
Definition:
indiwidgettraits.h:35
INDI::WidgetTraits
Definition:
indiwidgettraits.h:28
INumber
One number descriptor.
ISwitch
One switch descriptor.
IText
One text descriptor.
_IBLOBVectorProperty
BLOB (Binary Large Object) vector property descriptor.
Definition:
indiapi.h:471
_ILightVectorProperty
Light vector property descriptor.
Definition:
indiapi.h:417
_INumberVectorProperty
Number vector property descriptor.
Definition:
indiapi.h:319
_ISwitchVectorProperty
Switch vector property descriptor.
Definition:
indiapi.h:367
_ITextVectorProperty
Text vector property descriptor.
Definition:
indiapi.h:246
Generated on Thu Feb 2 2023 11:04:07 for Instrument Neutral Distributed Interface INDI by
1.9.1