Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ClntIfaceIface.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 only licence
8  *
9  */
10 
11 #ifndef CLNTIFACEIFACE_H
12 #define CLNTIFACEIFACE_H
13 
14 #include "Iface.h"
15 #include "SmartPtr.h"
16 #include "DUID.h"
17 #include "ClntIfaceMgr.h"
18 #include "OptFQDN.h"
19 
21  public:
22  friend std::ostream & operator <<(std::ostream & strum, TClntIfaceIface &x);
23  TClntIfaceIface(char * name, int id, unsigned int flags, char* mac,
24  int maclen, char* llAddr, int llAddrCnt, char * globalAddr,
25  int globalAddrCnt, int hwType);
27 
29  bool setDomainLst(SPtr<TDUID> duid, SPtr<TIPv6Addr> srv, List(std::string) domains);
31  bool setTimezone(SPtr<TDUID> duid, SPtr<TIPv6Addr> srv, const std::string& timezone);
33  bool setSIPDomainLst(SPtr<TDUID> duid, SPtr<TIPv6Addr> srv, List(std::string) domains);
34  bool setFQDN(SPtr<TDUID> duid, SPtr<TIPv6Addr> srv, const std::string& fqdn);
36  bool setNISDomain(SPtr<TDUID> duid, SPtr<TIPv6Addr> srv, const std::string& domain);
38  bool setNISPDomain(SPtr<TDUID> duid, SPtr<TIPv6Addr> srv, const std::string& domain);
39  bool setLifetime(SPtr<TDUID> duid, SPtr<TIPv6Addr> srv, unsigned int life);
40 
41  bool setDsLiteTunnel(SPtr<TIPv6Addr> remoteEndpoint);
43 
44  void removeAllOpts();
45  unsigned int getTimeout();
46 
47  std::string getFQDN();
48  TContainer< SPtr<TIPv6Addr> > getDNSServerLst();
49 
50  private:
51 
52  void addString(const char * filename, const char * str);
53  void delString(const char * filename, const char * str);
54  void setString(const char * filename, const char * str);
55 
56  TContainer< SPtr<TIPv6Addr> > DNSServerLst;
57  List(std::string) DomainLst;
59  std::string Timezone;
60  std::string FQDN;
62  List(std::string) SIPDomainLst;
64  std::string NISDomain;
66  std::string NISPDomain;
68 
69  unsigned int LifetimeTimeout;
70  unsigned int LifetimeTimestamp;
71 
77 
78 };
79 
80 #endif
81