src/internet-stack/nat-rule.h
author Qasim Javed <qasimj@gmail.com>
Thu Aug 06 11:16:51 2009 +0600 (2009-08-06)
changeset 4639 a4a59bd1ac1c
permissions -rw-r--r--
Added missing file(s)
     1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
     2 /* 
     3  * Copyright (c) 2009 University of Texas at Dallas
     4  * 
     5  * This program is free software; you can redistribute it and/or modify
     6  * it under the terms of the GNU General Public License version 2 as
     7  * published by the Free Software Foundation;
     8  *
     9  * This program is distributed in the hope that it will be useful,
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    12  * GNU General Public License for more details.
    13  *
    14  * You should have received a copy of the GNU General Public License
    15  * along with this program; if not, write to the Free Software
    16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    17  * 
    18  * Author: Qasim Javed <qasim@utdallas.edu>
    19  */
    20 #ifndef NAT_RULE_H
    21 #define NAT_RULE_H
    22 
    23 #include "ns3/log.h"
    24 #include "ns3/ipv4-address.h"
    25 #include "ns3/ref-count-base.h"
    26 #include "ns3/ptr.h"
    27 #include "ns3/object.h"
    28 #include "ns3/callback.h"
    29 #include "ns3/net-device.h"
    30 //#include "ipv4-interface.h"
    31 //#include "jhash.h"
    32 
    33 
    34 namespace ns3 {
    35 
    36 class Object;
    37 class Ipv4Address;
    38 class NetDevice;
    39 
    40 class NatRule : public RefCountBase {
    41   public:
    42     NatRule (Ipv4Address orig, Ipv4Address mapped, Ptr<NetDevice> device); //, Ipv4Interface outInterface);
    43     bool operator == (const NatRule& other) const;
    44     Ipv4Address GetOriginalSource () const;
    45 
    46     Ipv4Address GetMangledSource () const;
    47     Ptr <NetDevice> GetDevice () const;
    48   
    49   private:
    50     Ipv4Address m_originalSource;
    51     Ipv4Address m_mangledSource;
    52     Ptr <NetDevice> m_device;
    53     //Ipv4Interface m_outInterface;
    54 };
    55 
    56 }
    57 #endif /* NAT_RULE_H */