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

RelTransMgr.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: RelTransMgr.h,v 1.2 2005/01/13 22:45:55 thomson Exp $
00010  *
00011  * $Log: RelTransMgr.h,v $
00012  * Revision 1.2  2005/01/13 22:45:55  thomson
00013  * Relays implemented.
00014  *
00015  * Revision 1.1  2005/01/11 22:53:36  thomson
00016  * Relay skeleton implemented.
00017  *
00018  *
00019  */
00020 
00021 class TRelTransMgr;
00022 #ifndef RELTRANSMGR_H
00023 #define RELTRANSMGR_H
00024 
00025 #include <iostream>
00026 #include "RelCommon.h"
00027 #include "SmartPtr.h"
00028 #include "RelCfgIface.h"
00029 #include "RelMsg.h"
00030 
00031 using namespace std;
00032 
00033 class TRelTransMgr
00034 {
00035     friend ostream & operator<<(ostream &strum, TRelTransMgr &x);
00036   public:
00037     TRelTransMgr(TCtx * ctx, string xmlFile);
00038     ~TRelTransMgr();
00039 
00040     bool openSocket(SmartPtr<TRelCfgIface> confIface);
00041 
00042     bool doDuties();
00043 
00044     void relayMsg(SmartPtr<TRelMsg> msg);
00045     void relayMsgRepl(SmartPtr<TRelMsg> msg);
00046     void dump();
00047 
00048     bool isDone();
00049     void shutdown();
00050     
00051     char * getCtrlAddr();
00052     int    getCtrlIface();
00053     
00054   private:
00055     TCtx * Ctx;
00056     string XmlFile;
00057     bool IsDone;
00058 
00059     int ctrlIface;
00060     char ctrlAddr[48];
00061 };
00062 
00063 
00064 
00065 #endif
00066 
00067 
00068 

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