Quark  0.1
MDNSRecord.h++
Go to the documentation of this file.
1 #ifndef __libquark_mdns_MDNSRecord_hxx
2 #define __libquark_mdns_MDNSRecord_hxx
3 
4 #include <QStringList>
5 
6 #include <quark/IOException.h++>
7 
8 namespace quark {
9 
10 using util::IOException;
11 
12 namespace mdns {
13 
14 class MDNSDataReader;
15 class MDNSDataWriter;
16 
24 
26 {
27  public:
28 
29  virtual ~MDNSRecord();
30 
31  virtual void read(MDNSDataReader &reader) throw(IOException);
32  virtual void write(MDNSDataWriter &writer) throw(IOException);
33 
35  { return(_type); }
36 
37  QStringList name() const
38  { return(_name); }
39 
40  virtual bool hasData() const = 0;
41 
42  virtual QString toString() const;
43 
44  static QString labelsToName(const QStringList &labels);
45  static QStringList nameToLabels(const QString &name);
46  static QString typeToString(MDNSRecordType type);
47  static QString escapeLabel(const QString &label);
48  static QString unescapeLabel(const QString &label);
49 
50  protected:
51 
52  MDNSRecord(QStringList name, MDNSRecordType type);
53 
54  private:
55 
56  MDNSRecord();
57 
58  QStringList _name;
59  MDNSRecordType _type;
60  quint16 _dataClass;
61 };
62 
63 } // class mdns
64 } // class quark
65 
66 #endif // __libquark_mdns_MDNSRecord_hxx
Definition: MDNSRecord.h++:23
Definition: MDNSRecord.h++:20
Definition: IOException.h++:9
static QString labelsToName(const QStringList &labels)
static QString escapeLabel(const QString &label)
static QString unescapeLabel(const QString &label)
MDNSRecordType type() const
Definition: MDNSRecord.h++:34
QStringList name() const
Definition: MDNSRecord.h++:37
virtual bool hasData() const =0
virtual QString toString() const
Definition: BarChartView.h++:6
static QString typeToString(MDNSRecordType type)
Definition: MDNSRecord.h++:19
MDNSRecordType
Definition: MDNSRecord.h++:17
Definition: MDNSRecord.h++:21
Definition: MDNSRecord.h++:22
Definition: MDNSRecord.h++:18
static QStringList nameToLabels(const QString &name)
Definition: MDNSRecord.h++:17
virtual void write(MDNSDataWriter &writer)
virtual void read(MDNSDataReader &reader)
Definition: MDNSRecord.h++:25