1/*
2 This file is part of KDE.
3
4 SPDX-FileCopyrightText: 2018 Ralf Habacker <ralf.habacker@freenet.de>
5
6 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7*/
8#ifndef ATTICA_CONFIG_H
9#define ATTICA_CONFIG_H
10
11#include <QSharedDataPointer>
12#include <QString>
13
14#include "attica_export.h"
15
16namespace Attica
17{
18/**
19 * @class Config config.h <Attica/Config>
20 *
21 * Represents a server config
22 */
23class ATTICA_EXPORT Config
24{
25public:
26 typedef QList<Config> List;
27 class Parser;
28
29 /**
30 * Creates an empty Config
31 */
32 Config();
33
34 /**
35 * Copy constructor.
36 * @param other the Config to copy from
37 */
38 Config(const Config &other);
39
40 /**
41 * Assignment operator.
42 * @param other the Config to assign from
43 * @return pointer to this Config
44 */
45 Config &operator=(const Config &other);
46
47 /**
48 * Destructor.
49 */
50 ~Config();
51
52 QString contact() const;
53 QString host() const;
54 QString version() const;
55 bool ssl() const;
56 QString website() const;
57
58 void setContact(const QString &contact);
59 void setHost(const QString &host);
60 void setSsl(bool ssl);
61 void setVersion(const QString &version);
62 void setWebsite(const QString &website);
63
64 /**
65 * Checks whether this config is valid
66 * @return @c true if config is valid, @c false otherwise
67 */
68 bool isValid() const;
69
70private:
71 class Private;
72 QSharedDataPointer<Private> d;
73};
74
75}
76
77#endif
78

source code of attica/src/config.h