equal
deleted
inserted
replaced
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 |