summaryrefslogtreecommitdiffstats
path: root/src/net/mcast/McastConfiguration.cpp
blob: 6c5e62050a7de165d4052336cc32c8c497375630 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
# Copyright (c) 2009 - OpenSLX Project, Computer Center University of Freiburg
#
# This program is free software distributed under the GPL version 2.
# See http://openslx.org/COPYING
#
# If you have any feedback please consult http://openslx.org/feedback and
# send your suggestions, praise, or complaints to feedback@openslx.org
#
# General information about OpenSLX can be found at http://openslx.org/
# -----------------------------------------------------------------------------
# src/net/mcast/McastConfiguration.cpp
#    - hold Multicast protocol configuration data
# -----------------------------------------------------------------------------
*/

#include <QSettings>

#include "McastConfiguration.h"

void McastConfiguration::loadFrom(QSettings* _settings, char const* group)
{
	if (group)
		_settings->beginGroup(group);

	_multicastAddress = _settings->value("groupAddress", DEFAULT_MULTICAST_ADDRESS).toString();
	_multicastInterface = _settings->value("interface", DEFAULT_MULTICAST_INTERFACE).toString();
	_multicastMTU = _settings->value("mtu", DEFAULT_MULTICAST_MTU).value<quint16>();
	_multicastRate = _settings->value("rate", DEFAULT_MULTICAST_RATE).value<quint32>();
	_multicastUseUDP = _settings->value("use-udp", DEFAULT_MULTICAST_USEUDP).toBool();
	_multicastWinSize = _settings->value("winsize", DEFAULT_MULTICAST_WSIZ).value<quint16>();
	_multicastUDPPortBase = _settings->value("portbase", DEFAULT_MULTICAST_UDPPORT).value<quint16>();
	_multicastDPort = _settings->value("dport", DEFAULT_MULTICAST_DPORT).value<quint16>();
	_multicastSPort = _settings->value("sport", DEFAULT_MULTICAST_SPORT).value<quint16>();

	if (group)
		_settings->endGroup();
}

void McastConfiguration::writeTo(QSettings* _settings, char const* group) const
{
	if (group)
		_settings->beginGroup(group);

	_settings->setValue("groupAddress", _multicastAddress);
	_settings->setValue("interface", _multicastInterface);
	_settings->setValue("mtu", _multicastMTU);
	_settings->setValue("rate", _multicastRate);
	_settings->setValue("use-udp", _multicastUseUDP);
	_settings->setValue("winsize", _multicastWinSize);
	_settings->setValue("portbase", _multicastUDPPortBase);
	_settings->setValue("dport", _multicastDPort);
	_settings->setValue("sport", _multicastSPort);

	if (group)
		_settings->endGroup();
}