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 | |
16 | namespace Attica |
17 | { |
18 | /** |
19 | * @class Config config.h <Attica/Config> |
20 | * |
21 | * Represents a server config |
22 | */ |
23 | class ATTICA_EXPORT Config |
24 | { |
25 | public: |
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 | |
70 | private: |
71 | class Private; |
72 | QSharedDataPointer<Private> d; |
73 | }; |
74 | |
75 | } |
76 | |
77 | #endif |
78 | |