src/internet-node/l3-demux.h
changeset 556 c6f107a2b886
parent 525 4a6c58f0e327
child 568 e1660959ecbb
equal deleted inserted replaced
555:4d3b2a77bc92 556:c6f107a2b886
    27 #ifndef L3_DEMUX_H
    27 #ifndef L3_DEMUX_H
    28 #define L3_DEMUX_H
    28 #define L3_DEMUX_H
    29 
    29 
    30 #include <map>
    30 #include <map>
    31 #include "ns3/ns-unknown.h"
    31 #include "ns3/ns-unknown.h"
       
    32 #include "ns3/ptr.h"
    32 
    33 
    33 namespace ns3 {
    34 namespace ns3 {
    34 
    35 
    35 class L3Protocol;
    36 class L3Protocol;
    36 class Node;
    37 class Node;
    43 class L3Demux : public NsUnknown
    44 class L3Demux : public NsUnknown
    44 {
    45 {
    45 public:
    46 public:
    46   static const Iid iid;
    47   static const Iid iid;
    47   typedef int ProtocolTraceType;
    48   typedef int ProtocolTraceType;
    48   L3Demux(Node *node);
    49   L3Demux(Ptr<Node> node);
    49   virtual ~L3Demux();
    50   virtual ~L3Demux();
    50 
    51 
    51   /**
    52   /**
    52    * \param context the trace context to use to construct the
    53    * \param context the trace context to use to construct the
    53    *        TraceResolver to return
    54    *        TraceResolver to return
    88 protected:
    89 protected:
    89   virtual void DoDispose (void);
    90   virtual void DoDispose (void);
    90 private:
    91 private:
    91   typedef std::map<int, ns3::L3Protocol*> L3Map_t;
    92   typedef std::map<int, ns3::L3Protocol*> L3Map_t;
    92 
    93 
    93   Node *m_node;
    94   Ptr<Node> m_node;
    94   L3Map_t m_protocols;
    95   L3Map_t m_protocols;
    95 };
    96 };
    96 
    97 
    97 } //namespace ns3
    98 } //namespace ns3
    98 #endif
    99 #endif