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

StationRange.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: StationRange.h,v 1.4 2004/12/07 00:45:41 thomson Exp $
00010  *
00011  * $Log: StationRange.h,v $
00012  * Revision 1.4  2004/12/07 00:45:41  thomson
00013  * Clnt managers creation unified and cleaned up.
00014  *
00015  * Revision 1.3  2004/07/05 00:12:29  thomson
00016  * Lots of minor changes.
00017  *
00018  *                                                                           
00019  */
00020 
00021 class TStationRange;
00022 #ifndef STATIONRANGE_H
00023 #define STATIONRANGE_H
00024 
00025 #include "IPv6Addr.h"
00026 #include "DUID.h"
00027 #include "SmartPtr.h"
00028 
00029 #include <iostream>
00030 #include <iomanip>
00031 
00032 using namespace std;
00033 
00034 class TStationRange
00035 {
00036     friend ostream& operator<<(ostream& out,TStationRange&  station);
00037  public:
00038     TStationRange(void);
00039     ~TStationRange(void);
00040     TStationRange( SmartPtr<TDUID> duidl, SmartPtr<TDUID> duidr);
00041     TStationRange( SmartPtr<TDUID> duid);
00042     TStationRange( SmartPtr<TIPv6Addr> addrl, SmartPtr<TIPv6Addr> addrR);
00043     TStationRange( SmartPtr<TIPv6Addr> addr);
00044     bool in(SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> addr);
00045     bool in(SmartPtr<TIPv6Addr> addr);
00046     bool in(SmartPtr<TDUID> duid);
00047     SmartPtr<TIPv6Addr> getRandomAddr();
00048     unsigned long rangeCount();
00049     SmartPtr<TIPv6Addr> getAddrL();
00050     SmartPtr<TIPv6Addr> getAddrR();
00051  private:
00052     bool isAddrRange;
00053     SmartPtr<TDUID> DUIDL;
00054     SmartPtr<TDUID> DUIDR;
00055     SmartPtr<TIPv6Addr> AddrL;
00056     SmartPtr<TIPv6Addr> AddrR;
00057 };
00058 
00059 #endif
00060 

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