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