Instrument Neutral Distributed Interface INDI  1.9.2
indipropertyview_client.cpp
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 #include "indipropertyview.h"
20 
21 namespace INDI
22 {
23 
24 static void errorUnavailable(const char *function)
25 { fprintf(stderr, "%s method available only on driver side\n", function); }
26 
27 template <>
28 void PropertyView<IText>::vapply(const char *, va_list) const
29 { errorUnavailable(__FUNCTION__); }
30 
31 template <>
32 void PropertyView<IText>::vdefine(const char *, va_list) const
33 { errorUnavailable(__FUNCTION__); }
34 
35 template <>
36 void PropertyView<INumber>::vapply(const char *, va_list) const
37 { errorUnavailable(__FUNCTION__); }
38 
39 template <>
40 void PropertyView<INumber>::vdefine(const char *, va_list) const
41 { errorUnavailable(__FUNCTION__); }
42 
43 template <>
44 void PropertyView<ISwitch>::vapply(const char *, va_list) const
45 { errorUnavailable(__FUNCTION__); }
46 
47 template <>
48 void PropertyView<ISwitch>::vdefine(const char *, va_list) const
49 { errorUnavailable(__FUNCTION__); }
50 
51 template <>
52 void PropertyView<ILight>::vapply(const char *, va_list) const
53 { errorUnavailable(__FUNCTION__); }
54 
55 template <>
56 void PropertyView<ILight>::vdefine(const char *, va_list) const
57 { errorUnavailable(__FUNCTION__); }
58 
59 template <>
60 void PropertyView<IBLOB>::vapply(const char *, va_list) const
61 { errorUnavailable(__FUNCTION__); }
62 
63 template <>
64 void PropertyView<IBLOB>::vdefine(const char *, va_list) const
65 { errorUnavailable(__FUNCTION__); }
66 
67 template <typename T>
68 void PropertyView<T>::apply(const char *, ...) const
69 { errorUnavailable(__FUNCTION__); }
70 
71 template <typename T>
72 void PropertyView<T>::define(const char *, ...) const
73 { errorUnavailable(__FUNCTION__); }
74 
75 template <> template <>
77  const char *, const char *, const char *, const char *,
78  IPerm, double, IPState
79 )
80 { errorUnavailable(__FUNCTION__); }
81 
82 template <> template <>
84  const char *, const char *, const char *, const char *,
85  IPerm, double, IPState
86 )
87 { errorUnavailable(__FUNCTION__); }
88 
89 template <> template <>
91  const char *, const char *, const char *, const char *,
92  IPerm, ISRule, double, IPState
93 )
94 { errorUnavailable(__FUNCTION__); }
95 
96 template <> template <>
98  const char *, const char *, const char *, const char *,
99  IPState
100 )
101 { errorUnavailable(__FUNCTION__); }
102 
103 template <> template <>
105  const char *, const char *, const char *, const char *,
106  IPerm, double, IPState
107 )
108 { errorUnavailable(__FUNCTION__); }
109 
110 template <> template<>
111 bool PropertyView<IText>::update(const char * const [], const char * const [], int)
112 { errorUnavailable(__FUNCTION__); return false; }
113 
114 template <> template<>
115 bool PropertyView<INumber>::update(const double [], const char * const [], int)
116 { errorUnavailable(__FUNCTION__); return false; }
117 
118 template <> template<>
119 bool PropertyView<ISwitch>::update(const ISState [], const char * const [], int)
120 { errorUnavailable(__FUNCTION__); return false; }
121 
122 template <> template<>
124  const int [], const int [], const char * const [], const char * const [],
125  const char * const [], int
126 )
127 { errorUnavailable(__FUNCTION__); return false; }
128 
129 template <> template<>
131 { errorUnavailable(__FUNCTION__); }
132 
133 
134 void WidgetView<IText>::fill(const char *, const char *, const char *)
135 { errorUnavailable(__FUNCTION__); }
136 
137 void WidgetView<ISwitch>::fill(const char *, const char *, ISState)
138 { errorUnavailable(__FUNCTION__); }
139 
140 
141 void WidgetView<ILight>::fill(const char *, const char *, IPState)
142 { errorUnavailable(__FUNCTION__); }
143 
144 void WidgetView<INumber>::fill(const char *, const char *, const char *,
145  double, double, double, double)
146 { errorUnavailable(__FUNCTION__); }
147 
148 void WidgetView<IBLOB>::fill(const char *, const char *, const char *)
149 { errorUnavailable(__FUNCTION__); }
150 
151 template struct PropertyView<INumber>;
152 template struct PropertyView<IText>;
153 template struct PropertyView<ISwitch>;
154 template struct PropertyView<ILight>;
155 template struct PropertyView<IBLOB>;
156 
157 }
IPState
IPState
Property state.
Definition: indiapi.h:158
INDI::PropertyView< T >::define
void define() const
Definition: indipropertyview.h:180
INDI::WidgetView
Definition: indipropertyview.h:38
INDI::PropertyView::vapply
void vapply(const char *format, va_list args) const
IPerm
IPerm
Permission hint, with respect to client.
Definition: indiapi.h:181
INDI::PropertyView
Provides decorator for Low-Level IXXXVectorProperty/IXXX.
Definition: indipropertyview.h:39
INDI
Namespace to encapsulate INDI client, drivers, and mediator classes.
Definition: AlignmentSubsystemForClients.cpp:11
ISState
ISState
Switch state.
Definition: indiapi.h:148
indipropertyview.h
ISRule
ISRule
Switch vector rule hint.
Definition: indiapi.h:170