Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DUID.h
Go to the documentation of this file.
1 /*
2  * Dibbler - a portable DHCPv6
3  *
4  * authors: Tomasz Mrugalski <thomson@klub.com.pl>
5  * Marek Senderski <msend@o2.pl>
6  *
7  * Released under GNU GPL v2 licence
8  *
9  */
10 
11 class TDUID;
12 #ifndef DUID_H_
13 #define DUID_H_
14 #include <vector>
15 #include <string>
16 #include <stdint.h>
17 
18 class TDUID
19 {
20  friend std::ostream& operator<<(std::ostream& out,TDUID &range);
21  public:
22  TDUID(); // @todo: remove this
23  TDUID(const char* DUID,int DUIDlen); // packed
24  TDUID(const char* text); // plain
25  TDUID(const TDUID &duid);
26  TDUID& operator=(const TDUID& duid);
27  bool operator==(const TDUID &duid);
28  bool operator<=(const TDUID &duid);
29  size_t getLen() const;
30  char * storeSelf(char* buf);
31  const std::string getPlain() const;
32  const char * get() const;
33 
34  ~TDUID();
35 
36 private:
37  std::vector<uint8_t> DUID_;
38  std::string Plain_;
39 };
40 
41 #endif
42