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

SrvMsgReply.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: SrvMsgReply.h,v 1.4 2005/01/08 16:52:04 thomson Exp $
00010  *
00011  * $Log: SrvMsgReply.h,v $
00012  * Revision 1.4  2005/01/08 16:52:04  thomson
00013  * Relay support implemented.
00014  *
00015  * Revision 1.3  2004/10/25 20:45:54  thomson
00016  * Option support, parsers rewritten. ClntIfaceMgr now handles options.
00017  *
00018  * Revision 1.2  2004/06/20 17:25:07  thomson
00019  * getName() method implemented, clean up
00020  *
00021  *
00022  */
00023 
00024 class TSrvMsgReply;
00025 #ifndef SRVMSGREPLY_H
00026 #define SRVMSGREPLY_H
00027 #include "SrvMsg.h"
00028 #include "SrvMsgConfirm.h"
00029 #include "SrvMsgDecline.h"
00030 #include "SrvMsgRequest.h"
00031 #include "SrvMsgReply.h"
00032 #include "SrvMsgRebind.h"
00033 #include "SrvMsgRenew.h"
00034 #include "SrvMsgRelease.h"
00035 #include "SrvMsgSolicit.h"
00036 #include "SrvMsgInfRequest.h"
00037 
00038 class TSrvMsgReply : public TSrvMsg
00039 {
00040   public:
00041     TSrvMsgReply(SmartPtr<TSrvIfaceMgr>, 
00042                  SmartPtr<TSrvTransMgr>, 
00043                  SmartPtr<TSrvCfgMgr>, 
00044                  SmartPtr<TSrvAddrMgr> AddrMgr,
00045                  SmartPtr<TSrvMsgConfirm> question);
00046     
00047     TSrvMsgReply(SmartPtr<TSrvIfaceMgr>, 
00048                  SmartPtr<TSrvTransMgr>, 
00049                  SmartPtr<TSrvCfgMgr>, 
00050                  SmartPtr<TSrvAddrMgr> AddrMgr,
00051                  SmartPtr<TSrvMsgDecline> question);    
00052     
00053     TSrvMsgReply(SmartPtr<TSrvIfaceMgr>, 
00054                  SmartPtr<TSrvTransMgr>, 
00055                  SmartPtr<TSrvCfgMgr>, 
00056                  SmartPtr<TSrvAddrMgr> AddrMgr,
00057                  SmartPtr<TSrvMsgRebind> question);     
00058 
00059     TSrvMsgReply(SmartPtr<TSrvIfaceMgr>, 
00060                  SmartPtr<TSrvTransMgr>, 
00061                  SmartPtr<TSrvCfgMgr>, 
00062                  SmartPtr<TSrvAddrMgr> AddrMgr,
00063                  SmartPtr<TSrvMsgRelease> question);    
00064     
00065     TSrvMsgReply(SmartPtr<TSrvIfaceMgr>, 
00066                  SmartPtr<TSrvTransMgr>, 
00067                  SmartPtr<TSrvCfgMgr>, 
00068                  SmartPtr<TSrvAddrMgr> AddrMgr,
00069                  SmartPtr<TSrvMsgRenew> question);      
00070     
00071     TSrvMsgReply(SmartPtr<TSrvIfaceMgr>, 
00072                  SmartPtr<TSrvTransMgr>, 
00073                  SmartPtr<TSrvCfgMgr>, 
00074                  SmartPtr<TSrvAddrMgr> AddrMgr,
00075                  SmartPtr<TSrvMsgRequest> question);
00076     
00077     TSrvMsgReply(SmartPtr<TSrvIfaceMgr>, 
00078                  SmartPtr<TSrvTransMgr>, 
00079                  SmartPtr<TSrvCfgMgr>, 
00080                  SmartPtr<TSrvAddrMgr> AddrMgr,
00081                  SmartPtr<TSrvMsgSolicit> question);
00082     
00083     TSrvMsgReply(SmartPtr<TSrvIfaceMgr>, 
00084                  SmartPtr<TSrvTransMgr>, 
00085                  SmartPtr<TSrvCfgMgr>, 
00086                  SmartPtr<TSrvAddrMgr> AddrMgr,
00087                  SmartPtr<TSrvMsgInfRequest> question);
00088 
00089     void doDuties();
00090     unsigned long getTimeout();
00091     bool check();
00092     string getName();
00093     
00094     ~TSrvMsgReply();
00095 private:
00096     SmartPtr<TSrvOptOptionRequest> reqOpts;
00097     SmartPtr<TSrvOptClientIdentifier> duidOpt;
00098 
00099     void appendDefaultOption(SmartPtr<TOpt> ptrOpt);
00100 
00101     void setOptionsReqOptClntDUID(SmartPtr<TMsg> msg);
00102 
00103 
00104 };
00105 
00106 
00107 #endif /* SRVMSGREPLY_H */
00108 

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