Quark  0.1
MDNSDataRecord.h++
Go to the documentation of this file.
1 #ifndef __libquark_mdns_MDNSDataRecord_hxx
2 #define __libquark_mdns_MDNSDataRecord_hxx
3 
4 #include <QString>
5 #include <QStringList>
6 
7 #include <quark/MDNSRecord.h++>
8 
9 namespace quark {
10 
11 using util::IOException;
12 
13 namespace mdns {
14 
15 using util::IOException;
16 
17 class MDNSDataReader;
18 class MDNSDataWriter;
19 
20 class MDNSDataRecord : public MDNSRecord
21 {
22  public:
23 
24  virtual ~MDNSDataRecord();
25 
26  bool hasData() const;
27 
28  void read(MDNSDataReader &reader) throw(IOException);
29  void write(MDNSDataWriter &writer) throw(IOException);
30 
31  virtual void readData(MDNSDataReader &reader) throw(IOException) = 0;
32  virtual void writeData(MDNSDataWriter &writer) throw(IOException) = 0;
33 
34  quint64 ttl() const
35  { return(_ttl); }
36 
37  void setTtl(const quint64 &ttl)
38  { _ttl = ttl; }
39 
40  size_t length() const
41  { return(_length); }
42 
43  protected:
44 
45  MDNSDataRecord(QStringList name, MDNSRecordType type);
46 
47  QString toString(const QString &data) const;
48 
49  private:
50 
52 
53  quint64 _ttl;
54  size_t _length;
55 };
56 
57 } // class mdns
58 } // class quark
59 
60 #endif // __libquark_mdns_MDNSDataRecord_hxx
Definition: IOException.h++:9
size_t length() const
Definition: MDNSDataRecord.h++:40
virtual void writeData(MDNSDataWriter &writer)=0
Definition: MDNSDataRecord.h++:20
void write(MDNSDataWriter &writer)
MDNSRecordType type() const
Definition: MDNSRecord.h++:34
QStringList name() const
Definition: MDNSRecord.h++:37
virtual QString toString() const
Definition: BarChartView.h++:6
quint64 ttl() const
Definition: MDNSDataRecord.h++:34
MDNSRecordType
Definition: MDNSRecord.h++:17
void setTtl(const quint64 &ttl)
Definition: MDNSDataRecord.h++:37
void read(MDNSDataReader &reader)
virtual void readData(MDNSDataReader &reader)=0
Definition: MDNSRecord.h++:25