Instrument Neutral Distributed Interface INDI 2.2.5
indipropertybasic_p.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2021 by Pawel Soja <[email protected]>
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
29namespace INDI
30{
31
32template <typename T>
34{
35#ifndef INDI_PROPERTY_RAW_CAST
37#else
39#endif
40};
41template <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.