/* # 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.h # - hold Multicast protocol configuration data # ----------------------------------------------------------------------------- */ #ifndef MCASTCONFIGURATION_H_ #define MCASTCONFIGURATION_H_ #include #include #include #include "McastConstants.h" class McastConfiguration: public QObject { Q_OBJECT public: McastConfiguration(QObject* parent = 0) : QObject(parent), _multicastInterface(DEFAULT_MULTICAST_INTERFACE), _multicastAddress(DEFAULT_MULTICAST_ADDRESS), _multicastRate(DEFAULT_MULTICAST_RATE), _multicastSPort(DEFAULT_MULTICAST_SPORT), _multicastDPort(DEFAULT_MULTICAST_DPORT), _multicastWinSize(DEFAULT_MULTICAST_WSIZ), _multicastMTU(DEFAULT_MULTICAST_MTU), _multicastUDPPortBase(DEFAULT_MULTICAST_UDPPORT), _multicastUseUDP(DEFAULT_MULTICAST_USEUDP) { } McastConfiguration(McastConfiguration const& other) : _multicastInterface(other._multicastInterface), QObject(), _multicastAddress(other._multicastAddress), _multicastRate(other._multicastRate), _multicastSPort(other._multicastSPort), _multicastDPort(other._multicastDPort), _multicastWinSize(other._multicastWinSize), _multicastMTU(other._multicastMTU), _multicastUDPPortBase(other._multicastUDPPortBase), _multicastUseUDP(other._multicastUseUDP) { } virtual ~McastConfiguration() { } QString multicastAddress() const { return _multicastAddress; } McastConfiguration* multicastAddress(QString const& address) { _multicastAddress = address; return this; } quint16 multicastSPort() const { return _multicastSPort; } McastConfiguration* multicastSPort(quint16 port) { _multicastSPort = port; return this; } quint16 multicastDPort() const { return _multicastDPort; } McastConfiguration* multicastDPort(quint16 port) { _multicastDPort = port; return this; } quint32 multicastRate() const { return _multicastRate; } McastConfiguration* multicastRate(quint32 rate) { _multicastRate = rate; return this; } quint16 multicastWinSize() const { return _multicastWinSize; } McastConfiguration* multicastWinSize(quint16 size) { _multicastWinSize = size; return this; } quint16 multicastMTU() const { return _multicastMTU; } McastConfiguration* multicastMTU(quint16 mtu) { _multicastMTU = mtu; return this; } bool multicastUseUDP() const { return _multicastUseUDP; } McastConfiguration* multicastUseUDP(bool useUDP) { _multicastUseUDP = useUDP; return this; } quint16 multicastUDPPortBase() const { return _multicastUDPPortBase; } McastConfiguration* multicastUDPPortBase(quint16 port) { _multicastUDPPortBase = port; return this; } QString multicastInterface() const { return _multicastInterface; } McastConfiguration* multicastInterface(QString const& interface) { _multicastInterface = interface; return this; } quint16 multicastUDPUPort() const { return _multicastUDPPortBase; } quint16 multicastUDPMPort() const { return _multicastUDPPortBase; } void commit() { emit changed(); } signals: void changed(); private: QString _multicastInterface; QString _multicastAddress; quint32 _multicastRate; quint16 _multicastSPort; quint16 _multicastDPort; quint16 _multicastWinSize; quint16 _multicastMTU; quint16 _multicastUDPPortBase; bool _multicastUseUDP; }; #endif /* MCASTCONFIGURATION_H_ */