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

RelIfaceMgr.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: RelIfaceMgr.h,v 1.3 2005/04/25 00:19:20 thomson Exp $
00010  *
00011  * $Log: RelIfaceMgr.h,v $
00012  * Revision 1.3  2005/04/25 00:19:20  thomson
00013  * Changes in progress.
00014  *
00015  * Revision 1.2  2005/01/11 23:35:22  thomson
00016  * *** empty log message ***
00017  *
00018  * Revision 1.1  2005/01/11 22:53:35  thomson
00019  * Relay skeleton implemented.
00020  *
00021  *
00022  */
00023 
00024 class TSrvIfaceMgr;
00025 #ifndef RELIFACEMGR_H
00026 #define RELIFACEMGR_H
00027 
00028 #include "RelCommon.h"
00029 #include "RelMsg.h"
00030 #include "IfaceMgr.h"
00031 #include "Iface.h"
00032 
00033 class TRelIfaceMgr: public TIfaceMgr {
00034  public:
00035     TRelIfaceMgr(string xmlFile);
00036     ~TRelIfaceMgr();
00037     friend ostream & operator <<(ostream & strum, TRelIfaceMgr &x);
00038 
00039     SmartPtr<TRelMsg> decodeMsg(SmartPtr<TIfaceIface> iface, 
00040                                 SmartPtr<TIPv6Addr> peer, 
00041                                 char * buf, int bufsize);
00042 
00043     SmartPtr<TRelMsg> decodeRelayRepl(SmartPtr<TIfaceIface> iface, 
00044                                       SmartPtr<TIPv6Addr> peer, 
00045                                       char * buf, int bufsize);
00046     SmartPtr<TRelMsg> decodeRelayForw(SmartPtr<TIfaceIface> iface, 
00047                                       SmartPtr<TIPv6Addr> peer, 
00048                                       char * buf, int bufsize);
00049     SmartPtr<TRelMsg> decodeGeneric(SmartPtr<TIfaceIface> iface, 
00050                                     SmartPtr<TIPv6Addr> peer, 
00051                                     char * buf, int bufsize);
00052     void dump();
00053     
00054     // ---sends messages---
00055     bool send(int iface, char *data, int dataLen, SmartPtr<TIPv6Addr> addr, int port);
00056     
00057     // ---receives messages---
00058     SmartPtr<TRelMsg> select(unsigned long timeout);
00059 
00060   private:
00061     TCtx * Ctx;
00062 };
00063 
00064 #endif 
00065 

Generated on Sun Aug 7 22:47:16 2005 for Dibbler - a portable DHCPv6 by  doxygen 1.3.9.1