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 class TSrvParsClassOpt;
00027 #ifndef TSRVPARSCLASS_H
00028 #define TSRVPARSCLASS_H
00029
00030 #include <string>
00031 #include "StationID.h"
00032 #include "DHCPConst.h"
00033 #include "Container.h"
00034 #include "SmartPtr.h"
00035 #include "StationRange.h"
00036 #include "IPv6Addr.h"
00037
00038 class TSrvParsClassOpt
00039 {
00040 public:
00041 TSrvParsClassOpt(void);
00042 ~TSrvParsClassOpt(void);
00043
00044
00045 void setT1Beg(unsigned long t1);
00046 void setT1End(unsigned long t1);
00047 unsigned long getT1Beg();
00048 unsigned long getT1End();
00049
00050 void setT2Beg(unsigned long t2);
00051 void setT2End(unsigned long t2);
00052 unsigned long getT2Beg();
00053 unsigned long getT2End();
00054
00055 void setPrefBeg(unsigned long pref);
00056 void setPrefEnd(unsigned long pref);
00057 unsigned long getPrefBeg();
00058 unsigned long getPrefEnd();
00059
00060 void setValidEnd(unsigned long valid);
00061 void setValidBeg(unsigned long valid);
00062 unsigned long getValidEnd();
00063 unsigned long getValidBeg();
00064
00065
00066 void addRejedClnt(SmartPtr<TStationRange> addr);
00067 void firstRejedClnt();
00068 SmartPtr<TStationRange> getRejedClnt();
00069 void setRejedClnt(TContainer<SmartPtr<TStationRange> > *rejedClnt);
00070
00071
00072 void addAcceptClnt(SmartPtr<TStationRange> addr);
00073 void firstAcceptClnt();
00074 SmartPtr<TStationRange> getAcceptClnt();
00075 void setAcceptClnt(TContainer<SmartPtr<TStationRange> > *acceptClnt);
00076
00077
00078 void addPool(SmartPtr<TStationRange> addr);
00079 void firstPool();
00080 SmartPtr<TStationRange> getPool();
00081 void setPool(TContainer<SmartPtr<TStationRange> > *pool);
00082 long countPool();
00083
00084
00085 void setClassMaxLease(unsigned long maxClntLeases);
00086 unsigned long getClassMaxLease();
00087
00088 private:
00089
00090 unsigned long T1Beg;
00091 unsigned long T1End;
00092 unsigned long T2End;
00093 unsigned long T2Beg;
00094 unsigned long PrefBeg;
00095 unsigned long PrefEnd;
00096 unsigned long ValidBeg;
00097 unsigned long ValidEnd;
00098
00099 TContainer<SmartPtr<TStationRange> > RejedClnt;
00100 TContainer<SmartPtr<TStationRange> > AcceptClnt;
00101 TContainer<SmartPtr<TStationRange> > Pool;
00102
00103 unsigned long ClassMaxLease;
00104 };
00105 #endif
00106