Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

SrvParsClassOpt.h

Go to the documentation of this file.
00001 /*
00002  * Dibbler - a portable DHCPv6                                               
00003  *                                                                           
00004  * authors: Tomasz Mrugalski <thomson@klub.com.pl>                           
00005  *          Marek Senderski <msend@o2.pl>                                    
00006  *                                                                           
00007  * released under GNU GPL v2 or later licence                                
00008  *                                                                           
00009  * $Id: SrvParsClassOpt.h,v 1.6 2004/09/28 20:12:39 thomson Exp $
00010  *
00011  * $Log: SrvParsClassOpt.h,v $
00012  * Revision 1.6  2004/09/28 20:12:39  thomson
00013  * All major values are now unsigned.
00014  *
00015  * Revision 1.5  2004/09/03 23:20:23  thomson
00016  * RAPID-COMMIT support fixed. (bugs #50, #51, #52)
00017  *
00018  * Revision 1.4  2004/07/05 00:12:30  thomson
00019  * Lots of minor changes.
00020  *
00021  * Revision 1.3  2004/06/28 22:37:59  thomson
00022  * Minor changes.
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     //T1,T2,Valid,Prefered time routines
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     //Rejected clients access routines
00066     void addRejedClnt(SmartPtr<TStationRange> addr);
00067     void firstRejedClnt();
00068     SmartPtr<TStationRange> getRejedClnt();
00069     void setRejedClnt(TContainer<SmartPtr<TStationRange> > *rejedClnt);
00070     
00071     //Accepted clients access routines
00072     void addAcceptClnt(SmartPtr<TStationRange> addr);
00073     void firstAcceptClnt();
00074     SmartPtr<TStationRange> getAcceptClnt();
00075     void setAcceptClnt(TContainer<SmartPtr<TStationRange> > *acceptClnt);
00076     
00077     //Pool access routines
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     // leases count
00085     void setClassMaxLease(unsigned long maxClntLeases);
00086     unsigned long getClassMaxLease();
00087 
00088 private:
00089     //Ranges of T1 i T2
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 

Generated on Wed Mar 16 00:10:28 2005 for Dibbler - a portable DHCPv6 by  doxygen 1.3.9.1