Quark  0.1
MDNSService.h++
Go to the documentation of this file.
1 #ifndef __libquark_mdns_MDNSService_hxx
2 #define __libquark_mdns_MDNSService_hxx
3 
4 #include <QAbstractSocket>
5 #include <QList>
6 #include <QHostAddress>
7 #include <QStringList>
8 
9 namespace quark {
10 namespace mdns {
11 
13 {
14  public:
15 
16  MDNSService(QStringList instanceName, QStringList type);
17  virtual ~MDNSService();
18 
19  QStringList instanceName() const
20  { return(_instanceName); }
21 
22  QStringList type() const
23  { return(_type); }
24 
25  QStringList subtypes() const
26  { return(_subtypes); }
27 
28  bool hasSubtype(const QString &subtype) const;
29 
30  void addSubtype(const QString &subtype);
31  void removeSubtype(const QString &subtype);
32 
33  QString hostName() const
34  { return(_hostName); }
35 
36  void setHostName(QString hostName)
37  { _hostName = hostName; }
38 
39  QList<QHostAddress> addresses() const
40  { return(_addresses); }
41 
42  quint16 port() const
43  { return(_port); }
44 
45  void setPort(quint16 port)
46  { _port = port; }
47 
49  QAbstractSocket::NetworkLayerProtocol protocol) const;
50  QHostAddress addressForProtocol(
51  QAbstractSocket::NetworkLayerProtocol protocol) const;
52 
53  void addAddress(QHostAddress address);
54 
55  bool hasAttribute(const QString &key) const;
56  QString getAttribute(const QString &key) const;
57  void addAttribute(const QString &key, const QString &value);
58 
59  quint8 weight() const
60  { return(_weight); }
61 
62  void setWeight(quint8 weight)
63  { _weight = weight; }
64 
65  quint8 priority() const
66  { return(_priority); }
67 
68  void setPriority(quint8 priority)
69  { _priority = priority; }
70 
71  private:
72 
73  QStringList _instanceName;
74  QStringList _type;
75  QStringList _subtypes;
76  QString _hostName;
77  QList<QHostAddress> _addresses;
78  QMap<QString, QString> _attributes;
79  quint16 _port;
80  quint8 _weight;
81  quint8 _priority;
82 };
83 
84 } // namespace mdns
85 } // namespace quark
86 
87 #endif // __libquark_mdns_MDNSService_hxx
QString getAttribute(const QString &key) const
void setPriority(quint8 priority)
Definition: MDNSService.h++:68
QStringList type() const
Definition: MDNSService.h++:22
void addAttribute(const QString &key, const QString &value)
MDNSService(QStringList instanceName, QStringList type)
quint8 priority() const
Definition: MDNSService.h++:65
QStringList subtypes() const
Definition: MDNSService.h++:25
quint8 weight() const
Definition: MDNSService.h++:59
void setHostName(QString hostName)
Definition: MDNSService.h++:36
quint16 port() const
Definition: MDNSService.h++:42
QString hostName() const
Definition: MDNSService.h++:33
Definition: BarChartView.h++:6
QHostAddress addressForProtocol(QAbstractSocket::NetworkLayerProtocol protocol) const
QStringList instanceName() const
Definition: MDNSService.h++:19
Definition: MDNSService.h++:12
bool hasAttribute(const QString &key) const
QList< QHostAddress > addresses() const
Definition: MDNSService.h++:39
void addAddress(QHostAddress address)
void removeSubtype(const QString &subtype)
bool hasAddressForProtocol(QAbstractSocket::NetworkLayerProtocol protocol) const
void addSubtype(const QString &subtype)
void setPort(quint16 port)
Definition: MDNSService.h++:45
void setWeight(quint8 weight)
Definition: MDNSService.h++:62
bool hasSubtype(const QString &subtype) const