00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef CLNTIFACEIFACE_H
00025 #define CLNTIFACEIFACE_H
00026
00027 #include "Iface.h"
00028 #include "SmartPtr.h"
00029 #include "DUID.h"
00030
00031 class TClntIfaceIface: public TIfaceIface {
00032 public:
00033 friend ostream & operator <<(ostream & strum, TClntIfaceIface &x);
00034 TClntIfaceIface(char * name, int id, unsigned int flags, char* mac,
00035 int maclen, char* llAddr, int llAddrCnt, int hwType);
00036 ~TClntIfaceIface();
00037
00038 bool setDNSServerLst(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> srv, TContainer< SmartPtr<TIPv6Addr> > addrs);
00039 bool setDomainLst(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> srv, TContainer< SmartPtr<string> > domains);
00040 bool setNTPServerLst(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> srv, TContainer< SmartPtr<TIPv6Addr> > addrs);
00041 bool setTimezone(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> srv, string timezone);
00042 bool setSIPServerLst(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> srv, TContainer< SmartPtr<TIPv6Addr> > addrs);
00043 bool setSIPDomainLst(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> srv, TContainer< SmartPtr<string> > domains);
00044 bool setFQDN(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> srv, string fqdn);
00045 bool setNISServerLst(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> srv, TContainer< SmartPtr<TIPv6Addr> > addrs);
00046 bool setNISDomain(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> srv, string domain);
00047 bool setNISPServerLst(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> srv, TContainer< SmartPtr<TIPv6Addr> > addrs);
00048 bool setNISPDomain(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> srv, string domain);
00049 bool setLifetime(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> srv, unsigned int life);
00050 void removeAllOpts();
00051
00052 unsigned int getTimeout();
00053
00054 private:
00055
00056 void addString(const char * filename, const char * str);
00057 void delString(const char * filename, const char * str);
00058 void setString(const char * filename, const char * str);
00059
00060 TContainer< SmartPtr<TIPv6Addr> > DNSServerLst;
00061 SmartPtr<TIPv6Addr> DNSServerLstAddr;
00062 SmartPtr<TDUID> DNSServerLstDUID;
00063
00064 TContainer< SmartPtr<string> > DomainLst;
00065 SmartPtr<TIPv6Addr> DomainLstAddr;
00066 SmartPtr<TDUID> DomainLstDUID;
00067
00068 TContainer< SmartPtr<TIPv6Addr> > NTPServerLst;
00069 SmartPtr<TIPv6Addr> NTPServerLstAddr;
00070 SmartPtr<TDUID> NTPServerLstDUID;
00071
00072 string Timezone;
00073 SmartPtr<TIPv6Addr> TimezoneAddr;
00074 SmartPtr<TDUID> TimezoneDUID;
00075
00076
00077
00078 TContainer< SmartPtr<TIPv6Addr> > SIPServerLst;
00079 SmartPtr<TIPv6Addr> SIPServerLstAddr;
00080 SmartPtr<TDUID> SIPServerLstDUID;
00081
00082 TContainer< SmartPtr<string> > SIPDomainLst;
00083 SmartPtr<TIPv6Addr> SIPDomainLstAddr;
00084 SmartPtr<TDUID> SIPDomainLstDUID;
00085
00086 TContainer< SmartPtr<TIPv6Addr> > NISServerLst;
00087 SmartPtr<TIPv6Addr> NISServerLstAddr;
00088 SmartPtr<TDUID> NISServerLstDUID;
00089
00090 string NISDomain;
00091 SmartPtr<TIPv6Addr> NISDomainAddr;
00092 SmartPtr<TDUID> NISDomainDUID;
00093
00094 TContainer< SmartPtr<TIPv6Addr> > NISPServerLst;
00095 SmartPtr<TIPv6Addr> NISPServerLstAddr;
00096 SmartPtr<TDUID> NISPServerLstDUID;
00097
00098 string NISPDomain;
00099 SmartPtr<TIPv6Addr> NISPDomainAddr;
00100 SmartPtr<TDUID> NISPDomainDUID;
00101
00102 unsigned int LifetimeTimeout;
00103 unsigned int LifetimeTimestamp;
00104 };
00105
00106 #endif
00107