File indexing completed on 2024-04-28 03:52:08

0001 /*
0002  * BluezQt - Asynchronous BlueZ wrapper library
0003  *
0004  * SPDX-FileCopyrightText: 2019 Manuel Weichselbaumer <mincequi@web.de>
0005  *
0006  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007  */
0008 
0009 #ifndef BLUEZAPI2QT_PROPERTY_H
0010 #define BLUEZAPI2QT_PROPERTY_H
0011 
0012 #include "Comment.h"
0013 
0014 class Property
0015 {
0016 public:
0017     struct Tags {
0018         bool isOptional = false;
0019         bool isExperimental = false;
0020         bool isReadOnly = false;
0021         bool isServerOnly = false;
0022     };
0023 
0024     Property();
0025 
0026     bool finalize();
0027 
0028     QString name() const;
0029     QString type() const;
0030     Tags tags() const;
0031     QStringList comment() const;
0032 
0033 private:
0034     QString m_name;
0035     QString m_type;
0036     QStringList m_stringTags;
0037     QString m_limitation;
0038     Comment m_comment;
0039 
0040     // finalized members
0041     Tags m_tags;
0042 
0043     friend class Properties;
0044 };
0045 
0046 #endif