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

RelCfgIface.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: RelCfgIface.h,v 1.1 2005/01/11 22:53:35 thomson Exp $
00010  *
00011  * $Log: RelCfgIface.h,v $
00012  * Revision 1.1  2005/01/11 22:53:35  thomson
00013  * Relay skeleton implemented.
00014  *
00015  *
00016  */
00017 
00018 class TRelCfgIface;
00019 
00020 #ifndef RELCFGIFACE_H
00021 #define RELCFGIFACE_H
00022 #include "DHCPConst.h"
00023 #include "RelParsGlobalOpt.h"
00024 #include <iostream>
00025 #include <string>
00026 using namespace std;
00027 
00028 class TRelCfgIface
00029 {
00030     friend ostream& operator<<(ostream& out,TRelCfgIface& iface);
00031 public:
00032     TRelCfgIface(string ifaceName);
00033     TRelCfgIface(int ifaceNr);
00034     virtual ~TRelCfgIface();
00035     void setDefaults();
00036 
00037     void setName(string ifaceName);
00038     void setID(int ifaceID);
00039     int getID();
00040     string getName();
00041 
00042     SmartPtr<TIPv6Addr> getServerUnicast();
00043     SmartPtr<TIPv6Addr> getClientUnicast();
00044     bool getServerMulticast();
00045     bool getClientMulticast();
00046 
00047     void setOptions(SmartPtr<TRelParsGlobalOpt> opt);
00048     
00049     unsigned char getPreference();
00050     int getInterfaceID();
00051 
00052 private:
00053     string Name;
00054     int ID;
00055     int InterfaceID; // value of interface-id option (optional)
00056 
00057     SmartPtr<TIPv6Addr> ClientUnicast;
00058     SmartPtr<TIPv6Addr> ServerUnicast;
00059     bool ClientMulticast;
00060     bool ServerMulticast;
00061 };
00062 
00063 #endif /* RELCFGIFACE_H */
00064 

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