1/***************************************************************************
2 * Copyright (C) 2005-2014 by the Quassel Project *
3 * devel@quassel-irc.org *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) version 3. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19 ***************************************************************************/
20
21#ifndef NETWORKCONFIG_H_
22#define NETWORKCONFIG_H_
23
24#include "syncableobject.h"
25
26class NetworkConfig : public SyncableObject
27{
28 SYNCABLE_OBJECT
29 Q_OBJECT
30
31 Q_PROPERTY(bool pingTimeoutEnabled READ pingTimeoutEnabled WRITE setPingTimeoutEnabled)
32 Q_PROPERTY(int pingInterval READ pingInterval WRITE setPingInterval)
33 Q_PROPERTY(int maxPingCount READ maxPingCount WRITE setMaxPingCount)
34 Q_PROPERTY(bool autoWhoEnabled READ autoWhoEnabled WRITE setAutoWhoEnabled)
35 Q_PROPERTY(int autoWhoInterval READ autoWhoInterval WRITE setAutoWhoInterval)
36 Q_PROPERTY(int autoWhoNickLimit READ autoWhoNickLimit WRITE setAutoWhoNickLimit)
37 Q_PROPERTY(int autoWhoDelay READ autoWhoDelay WRITE setAutoWhoDelay)
38 Q_PROPERTY(bool standardCtcp READ standardCtcp WRITE setStandardCtcp)
39
40public :
41 NetworkConfig(const QString &objectName = "GlobalNetworkConfig", QObject *parent = 0);
42
43 inline virtual const QMetaObject *syncMetaObject() const { return &staticMetaObject; }
44
45public slots:
46 inline bool pingTimeoutEnabled() const { return _pingTimeoutEnabled; }
47 void setPingTimeoutEnabled(bool);
48 virtual inline void requestSetPingTimeoutEnabled(bool b) { REQUEST(ARG(b)) }
49
50 inline int pingInterval() const { return _pingInterval; }
51 void setPingInterval(int);
52 virtual inline void requestSetPingInterval(int i) { REQUEST(ARG(i)) }
53
54 inline int maxPingCount() const { return _maxPingCount; }
55 void setMaxPingCount(int);
56 virtual inline void requestSetMaxPingCount(int i) { REQUEST(ARG(i)) }
57
58 inline bool autoWhoEnabled() const { return _autoWhoEnabled; }
59 void setAutoWhoEnabled(bool);
60 virtual inline void requestSetAutoWhoEnabled(bool b) { REQUEST(ARG(b)) }
61
62 inline int autoWhoInterval() const { return _autoWhoInterval; }
63 void setAutoWhoInterval(int);
64 virtual inline void requestSetAutoWhoInterval(int i) { REQUEST(ARG(i)) }
65
66 inline int autoWhoNickLimit() const { return _autoWhoNickLimit; }
67 void setAutoWhoNickLimit(int);
68 virtual inline void requestSetAutoWhoNickLimit(int i) { REQUEST(ARG(i)) }
69
70 inline int autoWhoDelay() const { return _autoWhoDelay; }
71 void setAutoWhoDelay(int);
72 virtual inline void requestSetAutoWhoDelay(int i) { REQUEST(ARG(i)) }
73
74 inline bool standardCtcp() const { return _standardCtcp; }
75 void setStandardCtcp(bool);
76 virtual inline void requestSetStandardCtcp(bool b) { REQUEST(ARG(b)) }
77
78signals:
79 void pingTimeoutEnabledSet(bool);
80 void pingIntervalSet(int);
81// void maxPingCountSet(int);
82 void autoWhoEnabledSet(bool);
83 void autoWhoIntervalSet(int);
84// void autoWhoNickLimitSet(int);
85 void autoWhoDelaySet(int);
86 void standardCtcpSet(bool);
87
88// void setPingTimeoutEnabledRequested(bool);
89// void setPingIntervalRequested(int);
90// void setMaxPingCountRequested(int);
91// void setAutoWhoEnabledRequested(bool);
92// void setAutoWhoIntervalRequested(int);
93// void setAutoWhoNickLimitRequested(int);
94// void setAutoWhoDelayRequested(int);
95
96private:
97 bool _pingTimeoutEnabled;
98 int _pingInterval;
99 int _maxPingCount;
100
101 bool _autoWhoEnabled;
102 int _autoWhoInterval;
103 int _autoWhoNickLimit;
104 int _autoWhoDelay;
105
106 bool _standardCtcp;
107};
108
109
110#endif
111