Instrument Neutral Distributed Interface INDI  2.0.2
indipropertybasic_p.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 "indiproperty_p.h"
22 #include "indipropertyview.h"
23 
24 #include <vector>
25 #include <functional>
26 
27 #define INDI_PROPERTY_RAW_CAST
28 
29 namespace INDI
30 {
31 
32 template <typename T>
34 {
35 #ifndef INDI_PROPERTY_RAW_CAST
37 #else
39 #endif
40 };
41 template <typename T>
43 {
44  public:
47 
48  public:
49  PropertyBasicPrivateTemplate(size_t count);
50 #ifdef INDI_PROPERTY_RAW_CAST
52 #endif
54 
55  public:
56 #ifdef INDI_PROPERTY_RAW_CAST
57  bool raw;
58 #endif
59  std::vector<WidgetView<T>> widgets;
60 };
61 
62 }
typename WidgetTraits< T >::PropertyType RawPropertyType
std::vector< WidgetView< T > > widgets
Namespace to encapsulate INDI client, drivers, and mediator classes.
PropertyView< T > & typedProperty
Provides decorator for Low-Level IXXXVectorProperty/IXXX.