Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ClntParsIfaceOpt.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  * changes: Krzysztof Wnuk <keczi@poczta.onet.pl>
7  *
8  * released under GNU GPL v2 only licence
9  *
10  */
11 
12 #ifndef CLNTPARSEIFACEOPT_H
13 #define CLNTPARSEIFACEOPT_H
14 
15 #include <iostream>
16 #include <string>
17 #include "DHCPConst.h"
18 #include "Container.h"
19 #include "ClntParsIAOpt.h"
20 #include "HostID.h"
21 #include "IPv6Addr.h"
22 #include "OptVendorSpecInfo.h"
23 
25 {
26  public:
29  void setUnicast(bool unicast);
30  bool getUnicast();
31  bool getRapidCommit();
32  void setRapidCommit(bool rapid);
33  bool getStateful();
34  void setStateful(bool state);
35 
36  //-- options related methods --
37  // option: DNS Servers
38  TContainer< SPtr<TIPv6Addr> > * getDNSServerLst();
40  bool getReqDNSServer();
41 
42  // option: Domain
43  List(std::string) * getDomainLst();
44  void setDomainLst(List(std::string) * domains);
45  bool getReqDomain();
46 
47  // option: NTP servers
48  TContainer< SPtr<TIPv6Addr> > * getNTPServerLst();
50  bool getReqNTPServer();
51 
52  // option: Timezone
53  std::string getTimezone();
54  void setTimezone(const std::string& timeZone);
55  bool getReqTimezone();
56 
57  // option: SIP servers
58  TContainer< SPtr<TIPv6Addr> > * getSIPServerLst();
60  bool getReqSIPServer();
61 
62  // option: SIP domains
63  List(std::string) * getSIPDomainLst();
64  void setSIPDomainLst(List(std::string) *domainlist);
65  bool getReqSIPDomain();
66 
67  // option: FQDN
68  std::string getFQDN();
69  void setFQDN(const std::string& fqdn);
70  bool getReqFQDN();
71 
72  // option: NIS servers
73  TContainer< SPtr<TIPv6Addr> > * getNISServerLst();
74  void setNISServerLst( TContainer< SPtr<TIPv6Addr> > *nislist);
75  bool getReqNISServer();
76 
77  // option: NIS+ servers
78  TContainer< SPtr<TIPv6Addr> > * getNISPServerLst();
79  void setNISPServerLst( TContainer< SPtr<TIPv6Addr> > *nisplist);
80  bool getReqNISPServer();
81 
82  // option: NIS domain
83  std::string getNISDomain();
84  void setNISDomain(const std::string& domain);
85  bool getReqNISDomain();
86 
87  // option: NISP domain
88  std::string getNISPDomain();
89  void setNISPDomain(const std::string& domain);
90  bool getReqNISPDomain();
91 
92  // option: Lifetime
93  bool getLifetime();
94  void setLifetime();
95  bool getReqLifetime();
96 
97  // option: Prefix Delegation
98  void setPrefixDelegation();
100 
101  // option: vendor-spec
103  void setVendorSpec();
104  bool getReqVendorSpec();
105  TContainer< SPtr<TOptVendorSpecInfo> > getVendorSpec();
106 
107 private:
110 
112  bool Unicast;
113 
116 
117  TContainer< SPtr<TIPv6Addr> > DNSServerLst;
118  List(std::string) DomainLst;
120  std::string Timezone;
122  List(std::string) SIPDomainLst;
123  std::string FQDN;
126  std::string NISDomain;
127  std::string NISPDomain;
128  bool Lifetime;
130 
132  bool ReqDomain;
137  bool ReqFQDN;
145 };
146 
147 
148 #endif
149