WvStreams
wvipaliaser.h
00001 /* -*- Mode: C++ -*-
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 1997-2002 Net Integration Technologies, Inc.
00004  *
00005  */ 
00006 #ifndef __WVIPALIASER_H
00007 #define __WVIPALIASER_H
00008 
00009 #include "wvinterface.h"
00010 #include "wvaddr.h"
00011 
00019 class WvIPAliaser
00020 {
00021     struct Alias
00022     {
00023         int index, link_count;
00024         WvIPAddr ip;
00025         
00026         Alias(const WvIPAddr &_ip);
00027         ~Alias();
00028     };
00029 
00030     DeclareWvList(Alias);
00031     
00032     static AliasList all_aliases;
00033     AliasList aliases;
00034     WvInterfaceDict interfaces;
00035     
00036     WvIPAliaser::Alias *ipsearch(WvIPAliaser::AliasList &l,
00037                                  const WvIPAddr &ip);
00038     
00039 public:
00040     WvIPAliaser();
00041     ~WvIPAliaser();
00042     
00043     void dump();
00044     
00067     void start_edit();
00068     bool add(const WvIPAddr &ip);
00069     bool done_edit();
00070 };
00071 
00072 
00073 #endif // __WVIPALIASER_H